测试批量插入和批量更新

mybatis版本

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.3.2

mysql版本 5.7.26

1.批量插入

(1) 循环批量插入

测试批量插入和批量更新_第1张图片

进行插入6000所用时间 11485/13000/11937 

进行插入10000所用时间 19359/20078/22438

插入成功每条返回 1

事务会回滚所有数据

(2) mybatis批量插入

测试批量插入和批量更新_第2张图片

进行插入6000所用时间 1094/922/1000

进行插入10000所用时间 1640/1672/1672

插入成功返回 null

事务会回滚所有数据

2.批量更新

(1) 循环更新

测试批量插入和批量更新_第3张图片

进行更新6000所用时间 11609/11875/12046

进行更新10000所用时间 18875/20032/18516

插入成功每条返回 1

事务会回滚所有数据

(2) mybatis foreach循环更新

测试批量插入和批量更新_第4张图片

进行更新6000所用时间 3656/3656/3406

进行更新10000所用时间 5844/5937/5531

插入成功返回 1

事务会回滚所有数据

(3) mybatis 拼接sql更新

测试批量插入和批量更新_第5张图片

 

进行更新6000所用时间 29313/28593/34187

进行更新10000所用时间 Packet for query is too large (5,180,263 > 4,194,304). 一条sql太长的问题(慎用)

插入成功返回 6000

事务会回滚所有数据

 

你可能感兴趣的:(事务)