本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7591494
建立时间:2006年5月29日




[Hibernate]Hibernate学习心得--性能优化
软件技术

lhwork 发表于 2006/12/22 15:47:16

    在使用Hibernate进行查询的时候大家都会用到Hibernate缓存,其中Session缓存即一块内存空间,存放了相互关联的Java对象,这 些位于Session缓存中的对象就是持久化对象,Session根据持久化对象的状态变化来同步更新数据库。这个Session缓存是 Hibernate的一级缓存。此外,SessionFactory有一个内置缓存和一个外置缓存,即Hibernate的第二级缓存。而 Hibernate正是由于这些缓存的存在,才使得其数据库操作效率提高,就是说,在提供了方便易操作的操作数据库数据的方式的同时保证了工作效率,但是 不能因此而免去后顾之忧,需要在设计业务逻辑层的时候考虑使用最优的架构,节省有效的系统资源。在查询方面,Hibernate主要从以下几个方面来优化 查询性能:1.降低访问数据库的频率,减少select语句的数目。实现手段包括:    使用迫切左外连接或迫切内连接检索策略。    对延迟检索或立即检索策略设置批量检索数目。    使用查询缓存。2.避免多余加载程序不需要访问的数据。实现手段包括:    使用延迟检索策略。    使用集合过滤。3.避免报表查询数据占用缓存。实现手段为利用投影查询功能,查询出实体的部分属性。4.减少select语句中的字段,从而降低访问数据库的数据量。实现手段为利用Query的iterate()方法。    在插入和更新数据时,要控制insert和update语句,合理设置映射属性来保证插入更新的性能,例如,当表中包含许多字段时,建议把dynamic -update属性和dynamic-update属性都设为true,这样在insert和update语句中就只包含需要插入或更新的字段,这可以节 省数据库执行SQL语句的时间,从而提高应用的运行性能。     还有什么其它的提升性能的方式希望和大家一起讨论。


阅读全文(1685) | 回复(1) | 编辑 | 精华
 


回复:Hibernate学习心得--性能优化
软件技术

ee(游客)发表评论于2009/8/3 14:50:18

fdsafds


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.277 second(s), page refreshed 144774085 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号