有一个导入黑名单的需求,由于量比较大,所以先采用批量insert。拿批量insert 10000条做测试。
普通的insert
<insert id="insert" parameterType="com.qiyi.zhibo.domain.QiyiZhiboBlackUser" >
insert IGNORE into qiyi_zhibo_black_user (uid, create_time, operator
)
values (#{uid,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP}, #{operator,jdbcType=INTEGER}
)
</insert>
每秒1000条左右。
批量insert:
<insert id="batchInsert" parameterType="java.util.List" >
insert IGNORE into qiyi_zhibo_black_user (uid, create_time, operator)
VALUES
<foreach collection="list" item="item" index="index" separator="," >
(#{item.uid,jdbcType=BIGINT}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.operator,jdbcType=INTEGER}
)
</foreach>
</insert>
竟然每秒钟只有几条,好奇怪,把mybatis的debug日志打印出来,他会把10000条记录,分成多个sql,每个sql 批量插入255条数据(每一个sql的插入条数还不能,抽样算的条数,104,254,255都有,有点搞不懂,有空了看下代码)。
所以,暂时放弃使用批量,还是一条一条查吧,先把问题记在这里,有时间拜读下源码,看看问题出在哪里。
8299

被折叠的 条评论
为什么被折叠?



