之前一直以为mysql 是支持 addBatch的。兴冲冲的测试了半天,不仅没有提高效率还迟迟得不到正确结果。今天才发现这坑大了。
http://www.iteye.com/topic/770032
MySql连接的url中要加rewriteBatchedStatements参数,例如
String connectionUrl="jdbc:mysql://192.168.1.100:3306/test?rewriteBatchedStatements=true";
还要保证mysql JDBC驱的版本。MySql的JDBC驱动的批量插入操作性能是很优秀的。
MySql JDBC 驱动版本 | 结果 |
5.0.8 | 没有提高 18秒 |
5.1.7 | 没有提高 18秒 |
5.1.13 | 有提高 1.6秒 |
有兴趣的可以看看另外一个技术宅 手动高效率的实现100W条数据插入110m的记录。
http://blog.youkuaiyun.com/godfrey90/article/details/6534980