问题
最近项目用的mybatis-plus做的映射,有个批处理文件内容的需求,在使用mybatis-plus的批处理方法saveBatch时发现速度特别慢,测试从1000到10000到80000条基本上是线性增加,80000条时差不多要90秒。
排查
经debug排查sql语句是批量执行,所以应该不是框架本身的问题,由于用的是公司的手脚架,在mysql连接配置中发现了问题
这里少配置了一个参数rewriteBatchedStatements=true
结果
修改前24w数据大概在254709 ms
修改后24w数据大概在42506 ms
单次批量插入10000条大概在1700ms
建议
由于我这边没有特殊的性能要求,没有做更多的性能测试,如果对性能有要求的小伙伴可以利用其他手段再进行测试
参考连接
https://www.jianshu.com/p/0f4b7bc4d22c
https://www.cnblogs.com/chenjianjx/archive/2012/08/14/2637914.html