黑马程序员技术交流社区

标题: 【石家庄校区】学习笔记-Hibernate(7) [打印本页]

作者: htb52110    时间: 2018-1-15 20:14
标题: 【石家庄校区】学习笔记-Hibernate(7)
15、Hibernate优化方案
15.1、HQL优化
1)、使用参数绑定
         1.使用绑定参数的原因是让数据库一次解析SQL,对后续的重复请求可以使用用生成好的执行计划,这样做节省CPU时间和内存。
         2.避免SQL注入
2)、尽量少全长NOT
         如果where子句中包含not关键字,那么执行时该字段的索引失效。
3)、尽量使用where来替换having
Having在检索出所有记录后才对结果集进行过滤,这个处理需要一定的开销,而where子句限制记录的数目,能减少这方面的开销
4)、减少对表的查询
         在含有子查询的HQL,尽量减少对表的查询,降低开销
5)、使用表的别名
当在HQL语句中连接多个表时,使用别名,提高程序阅读性,并把别名前缀与每个列上,这样一来,可以减少解析时间并减少列歧义引起的语法错误。
6)、实体的更新与删除
         hibernate3以后支持hqlupdatedelete操作
15.2、一级缓存管理
一级缓存也叫做session缓存,在一个hibernate session有效,这级缓存的可干预性不强,大多于hibernate自动管理,但它提供清除缓存的方法,这在大批量增加(更新)操作是有效果的,例如,同时增加十万条记录,按常规进行,很可能会出现异常,这时可能需要手动清除一级缓存,session.evict以及session.clear.



作者: Yin灬Yan    时间: 2018-1-16 11:12
我来占层楼啊   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2