mybatis框架foreach循环批量插入10000数据,特别慢原因?
开发环境 win7 + tomcat7 + mysql5.5 开发技术 SpringMVC + spring + mybatis
疑问:mybatis使用forRach批量插入数据,一次性多少个为最佳性能!service中开启事务。
本人创建一个 10000个 User用户的List<User> ,传递给mabatis,mybatis的xml中使用forEach拼接sql语句为一句。
<insert id="addUsers" parameterType="java.util.List">
INSERT INTO
user (<include refid="Base_Column_List" />)
VALUES
<foreach item="ac" collection="list"
open="(" separator="),(" close=")">
#{ac.id},
#{ac.scode},
#{ac.password},
#{ac.smid},
#{ac.addTimes},
#{ac.flag},
#{ac.endTime}
</foreach>
</insert>
但是本人使用这条语句,使用mybatis框架插入10000条数据,大约15分钟才插入完成。及时1000条数据 也需要大约40s时间。不知道是那里问题。
本人想知道 mybatis一般可以批量插入多少数据是比较优势的。