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(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号