我们有一个针对MySQL数据库运行的Web应用程序(Tomcat / Spring / Hibernate)。每隔一段时间,应用程序就会运行一个数据驱动的查询,需要花费大量的时间才能完成。现在,我们无法在不记录所有查询的情况下跟踪它们,这将是一个巨大的数字(非常繁忙的应用程序。)我们识别查询的唯一方法是,如果它实际超时,那么我们得到{{1警告。
Tomcat,Spring或Hibernate中是否有某种方法可以仅跟踪需要执行一段时间的查询?
答案 0 :(得分:1)
MySQL的查询日志很慢。启用它,如果它还没有。
答案 1 :(得分:1)
Session工厂有getStatistics()方法来了解各种统计信息。找到它here。您可能对stats.getQueryExecutionMaxTime()
方法感兴趣。