mybaits Batch ExecutorType与for_each Xml

时间:2019-05-08 05:57:36

标签: insert batch-processing mybatis ibatis disk-io

我有一个要使用诱饵插入DB的记录列表。以前,我的代码类似于:

for(Item item :  items){
    sqlSession.insert("insert", item);
}

使用此方法有效,但由于项数的原因,我发现Mysql服务器上有动态增量DiskIO。

由于我几乎无法访问MySql配置,并希望解决此高磁盘io问题,因此我找到了一些可能的解决方案:

  1. ExecutorType.BATCH用于sqlSession
  2. 在单个insert语句中插入多个值,例如: insert into Item values <foreach collection="list" item="item" index="index" separator=","> (#{item.a}, #{item.b}...) </foreach>

有人知道哪个解决方案可以解决我的高diskIO问题,这两种解决方案之间的主要区别是什么?谢谢。

0 个答案:

没有答案