Hibernate性能 - JProfiler显示不需要的&不必要的操作需要花费很多时间

时间:2016-06-13 16:43:26

标签: hibernate java-ee database-performance jprofiler

大图:带有Hibernate的Java服务器应用程序中的数据库性能问题,在连接到IBM DB2 DataBase的WebSphere中运行。

使用JProfiler,我注意到除了预期的查询外,还有更多的时间浪费在不需要的电话上

请参阅附图,了解具体示例:JProfiler screenshot

  • 有用的查询执行位于绿色区域。这些都是非常简单的查询,select * from table where id = 123456
  • 不需要的和不相关的操作在红色区域。这些完全不相关与我运行的查询和我检索的数据有关,但有一个共同点:它们是 getter 方法在那一刻之前已经被hibernate检索过的各种实体类。

这是由一些错误/不完整的Hibernate缓存配置引起的吗? 我在配置文件中有这两行(等等......)

<prop key="hibernate.cache.provider_class">
    org.hibernate.cache.NoCacheProvider</prop>
<prop key="hibernate.cache.use_second_level_cache">
    false</prop>

我是否正确地假设在运行查询之前,Hibernate检查它的缓存以查看可能已经存在一些所需数据,并且这些检查比 SELECT 花费更多时间本身?

我可以消除这些不需要的操作吗?

谢谢。

0 个答案:

没有答案