MyBatis 批量插入高效插入方式对比
数据量:5076 条
方法1. Mybatis insertBatch select xx from dual union all
处理商品品类MQ:mp.goods.category结束,时间1565412589769,耗时 2691 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412627617,耗时 2561 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412648552,耗时 1731 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412667835,耗时 1490 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412684679,耗时 1464 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412704176,耗时 1578 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412725854,耗时 1329 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412800136,耗时 1407 毫秒
方法2. 使用Mybatic ExecutorType.BATCH
处理商品品类MQ:mp.goods.category结束,时间1565412589769,耗时 2691 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412627617,耗时 2561 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412648552,耗时 1731 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412667835,耗时 1490 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412684679,耗时 1464 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412704176,耗时 1578 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412725854,耗时 1329 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565412800136,耗时 1407 毫秒
方法3. JdbcTemplateBatch jdbc PreparedStatement. BatchPreparedStatementSetter
处理商品品类MQ:mp.goods.category结束,时间1565414557316,耗时 558 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565414609564,耗时 339 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565414654240,耗时 463 毫秒
处理商品品类MQ:mp.goods.category结束,时间1565414654240,耗时 463 毫秒
结论:
1、 使用sql union all 插入和 MyBatis ExecutorType 一样的性能
2、 使用 JbdcTemplateBatch 比上面两种 高4 倍左右。