我有一个要使用我的诱饵插入数据库的记录列表。以前,我的代码是这样的:
for(Item item : items){
sqlSession.insert("insert", item);
}
Mysql
使用这种方法是可行的,但我发现由于项目数量的原因,服务器上存在动态增量 DiskIO 。
由于我很少访问 MySql 配置,并希望解决这个高磁盘 io 问题,我找到了一些可能的解决方案:
- 用于
ExecutorType.BATCH
_sqlSession
- 在单个插入语句中插入多个值,例如:
insert into Item values <foreach collection="list" item="item" index="index" separator=","> (#{item.a}, #{item.b}...) </foreach>
有谁知道哪一个适合解决我的高磁盘IO问题以及这两种解决方案之间的主要区别是什么?谢谢。