【郑州校区】Hiberante优化方案
1.1. HQL优化1.使用参数绑定 1.使用绑定参数的原因是让数据库一次解析SQL,对后续的重复请求可以使用用生成好的执行计划,这样做节省CPU时间和内存。 2.避免SQL注入 2.尽量少全长NOT 如果where子句中包含not关键字,那么执行时该字段的索引失效。 3.尽量使用where来替换havingHaving在检索出所有记录后才对结果集进行过滤,这个处理需要一定的开销,而where子句限制记录的数目,能减少这方面的开销 4.减少对表的查询 在含有子查询的HQL中,尽量减少对表的查询,降低开销 5.使用表的别名当在HQL语句中连接多个表时,使用别名,提高程序阅读性,并把别名前缀与每个列上,这样一来,可以减少解析时间并减少列歧义引起的语法错误。 6.实体的更新与删除 在hibernate3以后支持hql的update与delete操作 1.2. 一级缓存管理一级缓存也叫做session缓存,在一个hibernate session有效,这级缓存的可干预性不强,大多于hibernate自动管理,但它提供清除缓存的方法,这在大批量增加(更新)操作是有效果的,例如,同时增加十万条记录,按常规进行,很可能会出现异常,这时可能需要手动清除一级缓存,session.evict以及session.clear. 传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 联系电话 0371-56061160/61/62 来校路线 地铁一号线梧桐街站A口出
|