首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring 2升级- spring启动数据jpa saveAll()非常慢

Spring 2升级- spring启动数据jpa saveAll()非常慢
EN

Stack Overflow用户
提问于 2018-04-26 13:53:21
回答 1查看 5K关注 0票数 7

我使用mysql与hibernate和spring引导数据jpa (spring starter data -jpa和mysql-连接器-java)。最近,我将我的spring启动项目从1.5升级到2.0。用于保存可迭代的spring数据CrudRepository的API已经从saveAll()更改为saveAll()。我对代码进行了修改,它可以工作,但速度非常慢:

  • 插入10项-> 2倍慢(49 10 -> 95 10)
  • 插入100项->慢6倍(132 100 -> 840 100)
  • 插入1000项-> 10倍慢(792 10 -> 8028 10)
  • 插入10000项-> 15倍慢(4912 15 -> 73542ms)
  • 插入100000项-> 22倍慢(32042ms -> 712702ms)

我已经用一个空表测试了两个弹簧版本的插入。mysql服务器版本没有改变:5.7.21-GPL( MySQL Community )

我需要每天插入200万个项目,这样的话,经济增长就会急剧放缓。这是我的配置:

代码语言:javascript
复制
spring.datasource.url = jdbc:mysql://localhost:3306/service?useSSL=false&rewriteBatchedStatements=true
spring.datasource.username = service
spring.datasource.password = service
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.hikari.maximum-pool-size=5

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.properties.hibernate.jdbc.batch_size=50
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true

有没有人知道更新过程中发生了什么变化,以及如何再次加快更新速度?

EN

回答 1

Stack Overflow用户

发布于 2019-08-08 06:12:39

在spring.jpa.properties.hibernate.generate_statistics = application.properties集中

代码语言:javascript
复制
hibernate:
  generate_statistics: true

https://www.baeldung.com/spring-data-jpa-batch-inserts

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50044823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档