mybatis 批量insert和普通insert的区别

有一个导入黑名单的需求,由于量比较大,所以先采用批量insert。拿批量insert 10000条做测试。

普通的insert 


  insert IGNORE into qiyi_zhibo_black_user (uid, create_time, operator
    )
  values (#{uid,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{operator,jdbcType=INTEGER}
    )

 每秒1000条左右。

 

批量insert:


  insert IGNORE into qiyi_zhibo_black_user (uid, create_time, operator)
  VALUES
  
    (#{item.uid,jdbcType=BIGINT}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.operator,jdbcType=INTEGER}
    )
  

竟然每秒钟只有几条,好奇怪,把mybatis的debug日志打印出来,他会把10000条记录,分成多个sql,每个sql 批量插入255条数据(每一个sql的插入条数还不能,抽样算的条数,104,254,255都有,有点搞不懂,有空了看下代码)。

所以,暂时放弃使用批量,还是一条一条查吧,先把问题记在这里,有时间拜读下源码,看看问题出在哪里。

你可能感兴趣的:(mybatis)