hibernate性能优化几点建议

hibernate性能优化几点建议

ID:35478011

大小:63.51 KB

页数:7页

时间:2019-03-25

hibernate性能优化几点建议_第1页
hibernate性能优化几点建议_第2页
hibernate性能优化几点建议_第3页
hibernate性能优化几点建议_第4页
hibernate性能优化几点建议_第5页
资源描述:

《hibernate性能优化几点建议》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、hibernate性能优化的几点建议1、针对oracle数据库而言,FetchSize是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100oOracle数据库的JDBC驱动默认的FetchSize=15,设置FetchSize设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。即在hibernate配制文件屮进行配制:123

2、y=,,hibernate.dialectn>org.hibemate.dialect.Oracle9Dialect4false5update-->7

3、gesunderPostgreSQL8100-->9501011FetchSize设的越大,读数据库的次数越少,速度越快;FetchSize越小,读数据库的次数越多,速度越慢。2、如果是超大的系统,建议生成htm文件。加快页面提升速度。3、不耍把所有的责任推在hibernate±,对代码进行重构,减少对数据库

4、的操作,尽量避免在数据库查询时使用in操作,以及避免递归查询操作,代码质量、系统设计的合理性决定系统性能的高低。4、对大数据量查询时,慎用list()或者iterator。返回查询结果,(1).使用List()返回结果时,Hibernate会所有查询结果初始化为持久化对象,结果集较大时,会占用很多的处理时间。(2).而使用iterator。返回结果时,在每次调用iterator.next()S回对象并使用对彖时,Hibernate才调用查询将対应的対象初始化,对于大数据量时,每调用一次查询都会花费较多的时间。当结果集较

5、大,但是含有较大量相同的数据,或者结果集不是全部都会使用时,使用iterator()才有优势。5、在一对多、多对一的关系屮,使用延迟加载机制,会使不少的对象在使用时方会初始化,这样可使得节省内存空间以及减少数据库的负荷,而II若P0中的集合没有被使用时,就可减少互数据库的交互从而减少处理时间。6、对含有关联的P0(持久化对象)时,若default-cascade=,,air,或者“save・update”,新增P0时,请注意对P0中的集合的赋值操作,因为有可能使得多执行一次update操作。7、对于大数据量新增、修改、

6、删除操作或者是对大数据量的查询,与数据库的交互次数是决定处理时间的最重要因索,减少交互的次数是提升效率的最好途径,所以在开发过程中,请将show_sql设置为true,深入了解Hibernate的处理过程,尝试不同的方式,可以使得效率提升。尽可能对每个页面的显示,对数据库的操作减少到100--150条以内。越少越好。以上是在进行struts+hibernate+spring进行项目开发中,对hibernate性能优化的几点心得。本文依照HIBERNATE帮助文档,一些网络书籍及项冃经验整理而成,只提供要点和思路,具体做

7、法可以留言探讨,或是找一些更详细更有针对性的资料。初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十儿倍很正常,如果不及早调整,很可能影响整个项冃的进度。大体上,对于HIBERNATE性能调优的主耍考虑点如下:0数据库设计调整0HQL优化0API的正确使用(如根据不同的业务类型选用不同的集合及查询API)0主配置参数(口志,查询缓存,fetch_size,batch_size等)0映射文件优化(ID生成策略,二级缓存,延迟加载,关联优化)0一级缓存的管理0针对二级缓

8、存,还有许多特有的策略0事务控制策略。1、数据库设计a)降低关联的复杂性b)尽量不使用联合主键c)ID的生成机制,不同的数据库所提供的机制并不完全一样d)适当的冗余数据,不过分追求高范式2、HQL优化HQL如果抛开它同HIBERNATE本身一些缓存机制的关联,HQL的优化技巧同普通的SQL优化技巧一样,可以很容易在网上找到一些经验

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。