当前位置: 首页 > 知识库问答 >
问题:

Spring boot 2升级-Spring boot data jpa saveAll()非常慢

丌官翰采
2023-03-14

我将mysql与hibernate和Spring Boot数据jpa(spring-boot-starter-data-jpa和mysql-connector-java)一起使用。最近我将我的spring boot项目从1.5升级到2.0。spring data CrudRepository用于保存迭代的API已经从save()更改为saveAll()。我在代码中做了一些修改,它可以工作,但是非常慢:

    null

我每天需要插入2百万个项目,所以这个减速是戏剧性的。这是我的配置:

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

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

共有1个答案

易炳
2023-03-14

在application.properties中,将spring.jpa.properties.hibernate.generate_statistics设置为true

hibernate:
  generate_statistics: true

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

 类似资料:
  • 问题内容: 我正在尝试在Docker容器内,但出现错误: 有谁知道这是什么原因,和/或如何解决? 问题答案: 服务器将重定向发送到客户端。假设您使用的是默认PyPI而不是代理,那么首先要检查的是status.python.org上的Python状态页。 这是最近发布的: 更新-我们目前正在调查某些软件包安装的重定向循环。 世界标准时间4月16日15:22 这甚至是最近: 更新-我们针对新的PyPI

  • 企业版用车管理后台已进行全新改版,为了不影响您的管理工作,请知晓以下改变。 一.【用车权限】已改名为【用车制度】 二.对【邀请员工】的影响 企业以前发出的加入邀请已经失效,请创建新版的邀请并发送给员工。 注:旧版邀请已经失效,所以员工使用旧版邀请提交的加入申请也随之失效,请将新版的邀请发送给员工。 三.对【添加员工】的影响 如果您添加的员工已加入其它企业,那么系统会向该员工发送一条短信,询问是否同

  • 我正在使用android studio,我已经更新了版本为141.1890965的android studio。但是我的Androidgradle构建还是太slpw了,当我第一次构建它时,它花了差不多3分钟,然后大约花了1分钟20秒。我在谷歌上尝试了许多解决方案,但我仍然帮助较少。以下是我尝试的链接。 级配建设太慢

  • 而且大多数时候,我的cpu使用率大约是10%!(其实是闲置的!)因为以前gradle工作的时候几乎所有的时间都是100%

  • 我正在将Jenkins服务器升级到2.357,并将Java从1.8升级到11以支持它。 然而,当我启动Jenkins时,它失败了,并给出了以下错误 Java版本 看起来它指向了线程“main”java中的异常。lang.IllegalArgumentException:期望----前缀=值,但未找到值,但我似乎无法理解。如果您能帮忙,我们将不胜感激!

  • 主要内容:从LOCAL存储引擎迁移到PLOCAL升级时,必须考虑版本号和格式。 有三种格式 - ,,。 版本需要不兼容的API更改。 版本需要向后兼容的功能。 版本需要向后兼容的错误修复。 要在小版本和主版本之间同步,可能需要导出和导入数据库。 有时需要将数据库从迁移到,并且需要将图形迁移到RidBag。 从LOCAL存储引擎迁移到PLOCAL 从版本开始OrientDB附带一个全新的存储引擎:PLOCAL(分页本地)。 它像LOCAL一样持久