加速mysql批量更新/导出数据速度 accelerate mysql batch update/insert speed

阅读更多
由于项目中经常需要批量更新/导出上万条数据,使用了spring jdbcTemplate 提供的batchUpdate(String sql,BatchPreparedStatementSetter pss) 方法,速度很慢,5000条数据需要3分钟才能完成。

疑点1:jdbc driver版本可能有问题。我使用的是 mysql-connector-java-3.0.11-stable-bin.jar,到官方下载5.1.12,再试,还是慢。

疑点2:mysql server没有开启批量操作。查了一下,确实需要手工开启这项功能。很简单,只需在 jdbc url 后跟一个参数rewriteBatchedStatements=true即可(jdbc:mysql:///test? rewriteBatchedStatements=true)。再试,5000条数据在15钞导出完毕!

注意:要让rewriteBatchedStatements=true发挥作用,jdbc driver 版本需要 5.1.8 及以上。

你可能感兴趣的:(MySQL,JDBC,Spring,SQL,Server,SQL)