最近在项目中对一些数据做批量新增,新增的数据只有区区2000条,新增的时间确需要30多秒
使用sql语句进行批量新增没有出现这个问题,进过查阅资料后发现jdbc连接语句中缺少
rewriteBatchedStatements=true
jdbcUrl连接语句如下, 最后面追加了rewriteBatchedStatements=true,真正的开启了mysql的批处理功能
jdbc:mysql://localhost:3306/test?autoReconnect=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
添加配置参数后重新测试批量导出,效率起飞!!!!
jdbcUrl参数介绍
| 参数名 | 作用 |
|---|---|
| autoReconnect=true | 当数据库连接异常中断时,自动重新连接 |
| characterEncoding=utf-8 | mysql客户端与服务端交互过程中的字符编码 |
| allowMultiQueries=true | 可以在sql语句后携带分号,实现多语句执行 |
| useSSL=false | 是否进行SSL连接 |
| serverTimezone=GMT%2B8 | 设置时区 |
| rewriteBatchedStatements=true | 开启批处理 |