hibernate 批量插入性能优化_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > hibernate 批量插入性能优化

hibernate 批量插入性能优化

 2011/11/8 7:52:46  lixiong258  http://mockingbear.iteye.com  我要评论(0)
  • 摘要:在使用hibernate进行批量数据插入的时候,性能往往是一个比较大的问题。性能优化主要就是减少与数据库交互的次数。首先要设置hibernate.jdbc.batch_size:<propkey="hibernate.jdbc.batch_size">50</prop>但是hibernate是对相同的preparedstatement才会batch,当插入级联的表的时候,生成的sql一般会是insertintoparent_table
  • 标签:性能优化 优化 hibernate
在使用hibernate进行批量数据插入的时候,性能往往是一个比较大的问题。性能优化主要就是减少与数据库交互的次数。 首先要设置hibernate.jdbc.batch_size: <prop key="hibernate.jdbc.batch_size">50</prop> 但是hibernate是对相同的prepared statement才会batch,当插入级联的表的时候,生成的sql一般会是insert into parent_table; insert into child_table交错,这样batch就不能起到很好的效果。这里需要设置hibernate.order_inserts让hibernate自动将所有产生的sql排序,以得到batch更好的优化效果 <prop key="hibernate.order_inserts">true</prop><prop key="hibernate.order_updates">true</prop> 另外对于插入时的主键设置,如果要用到数据库本身的sequence的话,避免每得到一个sequence值都访问数据库,应当采用hilo的主键生成机制,让数据库的sequence维护主键的高位,hibernate去维护低位。 完成以上几点配置,hibernate的批量插入性能能有很大提升。
发表评论
用户名: 匿名