大图:带有Hibernate的Java服务器应用程序中的数据库性能问题,在连接到IBM DB2 DataBase的WebSphere中运行。
使用JProfiler,我注意到除了预期的查询外,还有更多的时间浪费在不需要的电话上。
请参阅附图,了解具体示例:JProfiler screenshot
select * from table where id = 123456
。这是由一些错误/不完整的Hibernate缓存配置引起的吗? 我在配置文件中有这两行(等等......)
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.NoCacheProvider</prop>
<prop key="hibernate.cache.use_second_level_cache">
false</prop>
我是否正确地假设在运行查询之前,Hibernate检查它的缓存以查看可能已经存在一些所需数据,并且这些检查比 SELECT 花费更多时间本身?
我可以消除这些不需要的操作吗?
谢谢。