mysql hibernate save

阅读: 评论:0

mysql hibernate save

mysql hibernate save

默认情况下,100个插入将导致100个SQL INSERT语句,这很糟糕,因为它导致100次数据库往返。

批处理机制能够使用分组的机制INSERTs,UPDATEs,并DELETEs,作为一个结果,它显著减少数据库往返次数。实现批量插入的一种方法是使用SimpleJpaRepository#saveAll(Iterable entities)方法。在这里,我们用MySQL做到这一点。

关键点:

在application.properties中设置spring.jpa.properties.hibernate.jdbc.batch_size

在application.properties中设置spring.jpa.ate_statistics(只是为了检查批处理是否正常)

在application.properties,设置JDBC URL中rewriteBatchedStatements=true (特定于MySQL的优化)

在application.properties设置 JDBC URL使用cachePrepStmts=true(启用缓存,如果您决定设置prepStmtCacheSize,  则也很有用prepStmtCacheSqlLimit;等等;如果没有此设置,则禁用缓存)

在application.properties设置 JDBC URL中useServerPrepStmts=true(通过这种方式切换到服务器端预处理语句(可能会显着提升性能))

在实体中,使用指定的生成器,因为MySQL IDENTITY将导致批处理被禁用

在实体中,添加@Version类型的属性Long以避免SELECT在批处理之前额外触发(还防止在多请求事务中丢失更新)。额外的SELECT

本文发布于:2024-02-02 01:04:11,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681198040402.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:mysql   hibernate   save
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23