问题复现
最近在做一个同步其他数据源的用户和部门,批量插入采用MybatisPlus提供的saveBatch方法,但是在测试中,发现速度很慢
经过翻看源码翻到如下信息:
MybatisPlus在批量插入的时候也是循环一次一次插入的,每一次会判断这个变量i有没有达到阈值,如果达到阈值,就将这一批数据刷新到数据库
解决方案
在jdbcUrl后追加参数rewriteBatchedStatements=true
,让多批次的变成同一批次提交,这样会大大减少时间
原理
详见文档:mysql官方文档
- 文档截图