MyBatis 批量插入高效插入方式对比

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 倍左右。

你可能感兴趣的:(MyBatis 批量插入高效插入方式对比)