java - Java 的 SQL JDBC 拦截器,可以跟踪可疑的 SQL 查询

标签 java sql performance hibernate jdbc

我正在使用 Hibernate 运行 Java 程序。 Hibernate 生成查询,但我们也有一些自定义的 DAO 查询。对设计不佳的 SQL 查询进行静态代码分析/审查非常困难且需要大量资源,但它们会带来真正的麻烦。是否有一些 JDBC 拦截器可用,可以警告低于标准或编写糟糕的 SQL 查询?我知道有 sql 监视器,例如 log4-jdbc,但据我所知,它们不会在运行时跟踪此类信息。

启发式我的意思是,每天执行一次持续 5 秒的查询是可以的,但每分钟执行 100 个持续 5 秒的查询就不行了。或者它可以警告不包含 WHERE 语句的 sql 查询,每次都会提取大量行。

最佳答案

可能类似于 XRebel可以解决问题吗?如果查询运行时间过长或执行的查询过多,您可以设置阈值以获取通知。另外,您实际上可以通过查看结果来发现 N+1 个问题。并且使用内联参数记录查询,因此您不必弄清楚哪个参数是哪个。

关于java - Java 的 SQL JDBC 拦截器,可以跟踪可疑的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967544/

相关文章:

java - JRE : install vs deploy

java - PreferenceFragment 中的文件选择器对话框

java - Primefaces : Select Check Box menu : NullPointerException

java.sql.BatchUpdateException : ORA-00001: unique constraint while we generating primary key

sql - 从表中选择最新的 NOT NULL 值

sql - 全文检索权重参数的限制是多少

python - 删除列表中包含的 numpy 行?

javascript - 使用 Plotly JS 缓慢渲染图像 + slider

performance - 为什么 Angular 2 比 Angular 1 有更好的性能?

java - .subString 方法无法正常工作,Java