才能是来自独创性。独创性是思维、观察、理解和判断的一种独特的方式。
DBMNG数据库管理与应用
当前位置:首页 > MySQL > 常见问题
【本站原创】利用rewriteBatchedStatements解决MySQL中批量操作(增、删、改)数据时执行效率慢的问题

我们常用的jdbc访问MySQL的连接字符串是这样配置的:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true

通常情况下这种配置方式没有什么大问题,但是遇到批量操作(增删改)时,就会发现效率十分低下。曾经的一段代码是一次性新增插入1000+条的数据,就需要等待10秒左右时间。

查询资料发现,有人说MySQL驱动并没有真正的批量更新操作batchUpdate,执行的时候还是逐条顺序将SQL发送到MySQL服务器,但是经过实际测试证实这是一种误解。

修改了jdbc的连接配置如下:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&rewriteBatchedStatements=true

即增加一个属性rewriteBatchedStatements=true

再次执行同样的数据库批量操作代码,速度瞬间提升。增加到10000条以上也是瞬间完成。



(本示例中MySQL版本5.5)



本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
关于我们 - 版权声明 - 服务条款 - RSS订阅 - 工作机会 - 友情链接 - 联系我们 - 在线留言
Copyright © 2006-2020 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH   豫ICP备11002312号-2

豫公网安备 41010502002439号