Hibernate HQL优化学习笔记

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

本文向大家介绍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参数
责任编辑:佚名 来源: IT168
相关推荐

2009-06-18 09:14:08

Hibernate H

2014-05-12 10:37:41

2009-09-23 18:05:48

2009-09-29 17:22:30

Hibernate S

2009-09-25 16:57:49

Hibernate查询

2009-06-18 11:25:26

Hibernate L

2009-09-29 16:21:31

Hibernate单元

2009-06-12 15:32:01

Hibernate H

2009-06-26 16:09:21

Hibernate查询HQL

2023-06-25 11:30:47

可视化

2009-06-29 18:26:46

HibernateHQL查询

2009-06-16 16:10:59

Hibernate性能

2009-06-16 16:39:49

Hibernate性能

2009-06-12 15:09:01

Hibernate优化

2009-06-06 15:37:22

Hibernate性能

2009-06-17 08:47:00

Hibernate优化

2009-06-16 16:27:22

Hibernate优化

2011-08-25 14:43:55

LUA对象序列化

2009-06-18 12:59:39

Criteria Qu深入浅出Hiberna

2016-12-27 16:04:39

最优化课程笔记
点赞
收藏

51CTO技术栈公众号