开发者社区> 问答> 正文

如何避免sql合并

我这边有个需求,就是通过自定义的MyStatLogger,使监控到的数据定时输出到日志或者数据库中。 我这边希望sql不要合并,也就是不同时间执行的相同sql,不要合并在一起。这样,我就可以设计一个UI,把这些sql按照执行时间展示出来。 我通过读api,

@Bean

public Filter statFilter() { StatFilter filter = new StatFilter(); filter.setSlowSqlMillis(1); filter.setLogSlowSql(true); // 是否要合并日志 true表示合并 filter.setMergeSql(false); return filter; }

发现 filter.setMergeSql(false); 使避免合并sql的。结果,我把它设置为false,还是不行。请问有什么解决方案? 非常感谢!

原提问者GitHub用户diaowenyang

展开
收起
山海行 2023-07-05 19:51:39 44 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在编写SQL查询语句时,避免不必要的SQL合并可以提高查询性能和可维护性。以下是一些避免SQL合并的方法:

    使用子查询:将SQL查询拆分为多个子查询,每个子查询都是独立的,可以单独执行。使用子查询可以避免不必要的SQL合并,并提高查询性能。

    使用视图:将SQL查询封装为视图,通过视图来查询数据。使用视图可以将SQL查询和应用程序分离,提高代码的可维护性,并避免不必要的SQL合并。

    缓存查询结果:如果查询结果不经常变化,可以使用缓存来保存查询结果,避免重复查询数据库。缓存可以提高查询性能并减少数据库负载。

    使用索引:使用索引可以加速查询,并减少不必要的SQL合并。请确保在查询中使用了适当的索引,以获得最佳的查询性能。

    优化查询语句:对SQL查询语句进行优化可以避免不必要的SQL合并,并提高查询性能。例如,可以避免使用SELECT *,尽可能地减少子查询,使用正确的JOIN类型等等。

    2023-07-30 15:07:54
    赞同 展开评论 打赏
  • 这样会对性能有较大影响,如果有这种需求,你自己做Filter采集

    原回答者GitHub用户wenshao

    2023-07-06 11:09:44
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载