问题描述:
项目中使用到了Spring data jpa技术,调用 ()方法对list中的数据进行插入时,发现速度特别慢,一条条插入,平均每条耗时70ms,这样一个600条的数据,就要耗时42s,简直不能忍!
解决方案:
搜索一番,发现jpa对批量操作是有配置的,增加以下yml配置后,600多条数据基本上瞬间完成,爽歪歪!
spring:
jpa:
properties:
hibernate:
jdbc:
batch_size: 500
batch_versioned_data: true
order_inserts: true
order_updates: true
batch_size可以根据自己实际需要设置,如5000条数据,批量处理5000/500=10次即可!