【坑】mybatis plus 批量插入saveBatch的坑
调用mybatis plus的saveBatch方法一次性插入一千条数据很慢,到底是什么原因呢?
问题发现
最近公司业务有一个批量插入的操作,项目从一开始就用了mybatis plus这个工具,其中的saveBatch对批量插入很方便,我也首先选择了这个方法,写的时候没怎么注意,写完之后同事进行压力测试的时候发现
批量插入1000条数据就会很慢,大概有4秒左右,进行批量插入数据,要想保证速度的话一般会采用在xml中用foreach进行遍历插入,但是查了下资料发现mybatis plus在2.0后就去掉了这个功能
这是官方给出的答案,也就是不再支持这种操作了
问题探索
- 探究一下mybatis plus的saveBatch是怎么操作的
点开saveBatch
可以看到先是创建了一个batch的sqlSession,点进去看这个sqlSession