mybatis-plus MySQL的JDBC连接的url中要加rewriteBatchedStatements参数,并保证5.1.13以上版本的驱动,才能实现高性能的批量插入,

tgabmvqs  于 2021-11-27  发布在  Java
关注(0)|答案(1)|浏览(403)

MySQL的JDBC连接的url中要加rewriteBatchedStatements参数,并保证5.1.13以上版本的驱动,才能实现高性能的批量插入。
MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,批量插入实际上是单条插入,直接造成较低的性能。
只有把rewriteBatchedStatements参数置为true, 驱动才会帮你批量执行SQL
另外这个选项对INSERT/UPDATE/DELETE都有效。
原先10万条数据25个字段8个大字节字段10秒完成

mysql 加入了 rewriteBatchedStatements参数
驱动版本8.0.26
依然无效.大概两万条数据
180S

  • Originally posted by @javaApprenticeHzk in #2786 (comment)*
mspsb9vt

mspsb9vt1#

@libra1010 mp的批量操作为了适配不支持批量操作的db采用的是for循环的方式实现的。所以需要用户手写真·批量操作才行。

相关问题