Hibernate HQL优化学习笔记
创始人
2024-06-08 05:41:25
0

本文向大家介绍Hibernate HQL优化,可能好多人还不了解Hibernate HQL优化,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。依照Hibernate帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。

初用Hibernate的人也许都遇到过性能问题,实现同一功能,用Hibernate与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。

大体上,对于Hibernate性能调优的主要考虑点如下:
◆数据库设计调整
◆HQL优化
◆API的正确使用(如根据不同的业务类型选用不同的集合及查询API)
◆主配置参数(日志,查询缓存,fetch_size, batch_size等)
◆映射文件优化(ID生成策略,二级缓存,延迟加载,关联优化)
◆一级缓存的管理
◆针对二级缓存,还有许多特有的策略
◆事务控制策略。

1.数据库设计
◆降低关联的复杂性
◆尽量不使用联合主键
◆ID的生成机制,不同的数据库所提供的机制并不完全一样
◆适当的冗余数据,不过分追求高范式

2.Hibernate HQL优化

HQL如果抛开它同Hibernate本身一些缓存机制的关联,Hibernate HQL优化技巧同普通的SQL优化技巧一样,可以很容易在网上找到一些经验之谈。

3.主配置
◆查询缓存,同下面讲的缓存不太一样,它是针对HQL语句的缓存,即完全一样的语句再次执行时可以利用缓存数据。但是,查询缓存在一个交易系统(数据变更频繁,查询条件相同的机率并不大)中可能会起反作用:它会白白耗费大量的系统资源但却难以派上用场。
◆fetch_size,同JDBC的相关参数作用类似,参数并不是越大越好,而应根据业务特征去设置
◆batch_size同上。
◆生产系统中,切记要关掉SQL语句打印。

【编辑推荐】

  1. 剖析Hibernate Extensions
  2. 介绍Hibernate Iterator方法
  3. Hibernate Session缓存经验总结
  4. 简单介绍Hibernate配置Proxool
  5. 浅谈Hibernate outer-join参数

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...