java – 通常的hibernate性能陷阱

前端之家收集整理的这篇文章主要介绍了java – 通常的hibernate性能陷阱前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们刚刚完成配置我们的应用程序. (她开始慢了).
这个问题似乎是“在休眠中”.

这是一个遗留映射.谁工作,做这个工作.背后的关系主题也是如此.

但是有些要求比较慢.

所以,我们会感谢任何关于hibernate的常见错误的输入,最终导致缓慢的响应.

例如:渴望代替懒惰可以大大改变响应时间….

编辑:像往常一样,阅读手册往往是一个好主意.整个章节涵盖这个主题

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html

解决方法

最常见的缺陷之一是臭名昭着的 n+1 selects problem.默认情况下,Hibernate不会加载您没有要求的数据.这可以减少内存消耗,但会暴露出您可以通过切换到正确的提取策略来检索所有需要将对象加载到适当初始化状态的所有数据来避免的问题.

但是也不要太多,否则会遇到相反的问题,笛卡儿产品问题:而不是执行许多sql语句,您可能会最终创建检索太多数据的语句.

这就是调整的全部要点:为应用程序的每个用例(或至少需要调整的用例)找到不足够和太多数据之间的中间值.

我的建议:

>首先在Hibernate的级别上激活sql日志记录>运行关键用例(20%使用80%的时间),甚至所有这些都是如果你有这样的奢侈品识别可疑查询并优化提取计划,检查索引是否适当使用等>涉及你的DBA

猜你在找的Java相关文章