加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 通常的hibernate性能陷阱

发布时间:2020-12-14 16:29:22 所属栏目: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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读