mysql—java中的通用sql查询和日志sql查询

unguejic  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(452)

我使用jdbi在java应用程序中查询mysql。我想记录在应用程序上执行的查询的相关指标,例如查询所花费的时间、执行查询的次数、获取句柄所花费的时间等。。尽管我的大多数查询都是通过一个准备好的语句来执行的,但我还是有一些查询将查询中的参数作为sql字符串的一部分来传递。例如

select * from products where category in ('a', 'b', 'c') and id = :id;

jdbi记录器将其输出为

select * from products where category in ('a', 'b', 'c') and id = ?;

将多个查询分组以分析它变得非常困难。有没有java语言的库可以帮助我将这些查询归纳成我喜欢的

select * from products where category in (?) and id = ?;

或者也许

select * from products where category in (?, ?, ?) and id = ?;

p、 我知道在sql查询中连接字符串是一个非常糟糕的设计。

wsewodh2

wsewodh21#

在mysql中,有两种方法,它们似乎都能满足您的需求:
慢日志:https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html
这个 performance_schema : https://dev.mysql.com/doc/refman/5.7/en/performance-schema.html
我想两个都可以 in (?, ?, ?) and id = ? ,并将其用作查询的“摘要”,以汇总类似的查询所用的时间等。

相关问题