优化Hibernate性能的几点倡议[Java编程]
本文“优化Hibernate性能的几点倡议[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、针对Oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时刻每次从数据库中取出的记录条数,普通设置为30、50、100.Oracle数据库的JDBC驱动默许的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显晋升,假如持续增大,超越100,性能晋升不明显,反而会损耗内存.
即在Hibernate配制文件中举行配制:
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">false</prop>
<!-- Create/update the database tables automatically when the JVM starts up
<prop key="hibernate.hbm2ddl.auto">update</prop> -->
<!-- Turn batching off for better error messages under PostgreSQL
<prop key="hibernate.jdbc.batch_size">100</prop> -->
<prop key="hibernate.jdbc.batch_size">50</prop>
</props>
</property>
2、假如是超大的系统,倡议生成htm文件.加快页面晋升速度.
3、不要把全部的责任推在hibernate上,对代码举行重构,削减对数据库的操作,尽大概避免在数据库查询时利用in操作,以及避免递归查询操作,代码质量、系统计划的公道性决意系统性能的高低.
4、 对大数据量查询时,慎用list()大概iterator()返回查询后果,
(1). 利用List()返回后果时,Hibernate会全部查询后果初始化为长期化对象,后果集较大时,会占用很多的处理时间.
(2). 而利用iterator()返回后果时,在每次调用iterator.next()返回对象并利用对象时,Hibernate才调用查询将对应的对象初始化,关于大数据量时,每调用一次查询城市耗费较多的时间.当后果集较大,但是含有较大量相同的数据,大概后果集不是全部城市利用时,利用iterator()才有上风.
5、在一对多、多对一的关系中,利用耽误加载机制,会使不少的对象在利用时方会初始化,这样可以使得节俭内存空间以及削减数据库的负荷,并且若PO中的调集没有被利用时,便可削减互数据库的交互从而削减处理时间.
6、对含有关联的PO(长期化对象)时,若default-cascade="all"大概 “save-update”,新增PO时,请注意对PO中的调集的赋值操作,因为有大概使得多履行一次update操作.
7、 关于大数据量新增、改正、删除操作大概是对大数据量的查询,与数据库的交互次数是决意处理时间的最重要因素,削减交互的次数是晋升效率的最好途径,所以在开辟历程中,请将show_sql设置为true,深化理解Hibernate的处理历程,尝试差别的方法,可以使得效率晋升.尽大概对每个页面的显示,对数据库的操作削减到100----150条以内.越少越好.
以上是在举行Struts+hibernate+spring举行项目开辟中,对hibernate性能优化的几点心得.
以上是“优化Hibernate性能的几点倡议[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:责任链情势
- ·下一篇文章:Hibernat试用
- ·中查找“优化Hibernate性能的几点倡议”更多相关内容
- ·中查找“优化Hibernate性能的几点倡议”更多相关内容