从hibernate获取查询的执行时间

时间:2017-01-20 15:33:52

标签: java performance hibernate

Hibernate提供getQueries()(通过org.hibernate.stat.Statistics)的API,它提供了一组查询字符串。我们可以进一步了解这些查询的执行时间吗?。

如果此设施无法直接使用,是否有一些间接方式(例如通过编写一些小程序)来获取所需信息?我现在有一个包含~15个查询字符串的列表,我想知道如何指导我的优化性能。

我已经阅读了相关文档,但这对我来说并不明显。

P.S。我正在使用Hibernate 4.2

参考文献:

  1. http://docs.jboss.org/hibernate/core/4.2/javadocs/org/hibernate/stat/Statistics.html#getQueries()

  2. http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/ch20.html#performance-monitoring

  3. http://www.thoughts-on-java.org/how-to-activate-hibernate-statistics-to-analyze-performance-issues/

1 个答案:

答案 0 :(得分:1)

我还没有测试过它,但getQueryStatistics怎么样?返回的QueryStatistics包括最小,最大和平均时间以及执行计数。您应该能够将查询字符串从getQueries传递给方法以获取详细信息。