黑马程序员技术交流社区
标题:
【石家庄校区】学习笔记-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
以后支持
hql
的
update
与
delete
操作
15.2、一级缓存管理
一级缓存也叫做
session
缓存,在一个
hibernate session
有效,这级缓存的可干预性不强,大多于
hibernate
自动管理,但它提供清除缓存的方法,这在大批量增加
(
更新
)
操作是有效果的,例如,同时增加十万条记录,按常规进行,很可能会出现异常,这时可能需要手动清除一级缓存,
session.evict
以及
session.clear.
作者:
Yin灬Yan
时间:
2018-1-16 11:12
我来占层楼啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2