Spring data jpa 批量插入(saveAll)速度慢的问题

问题描述:

项目中使用到了Spring data jpa技术,调用 JpaRepository.saveAll()方法对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次即可!

你可能感兴趣的:(SpringBoot)