Mysql批处理写入数据库

在学习mybatisPlus时,看到一个原本没用过的参数:

rewriteBatchedStatements=true

将上述代码装入jdbc的url中即可使数据库启用批处理写入。

需要注意的是,这个参数仅适用于MySQL JDBC 驱动的私有扩展参数。

作用原理是:

原本的数据插入是一条一条进行插入,每次插入都会进行提交,每次提交都会造成网络延迟,所以时间自然就会缓慢。

所以想要提高插入速度,我们可以将这些批量插入的语句使用foreach来进行拼接,也就是将这些插入语句合并为一条,那么最终只需要进行提交一次。

或者使用mysql语句开启批处理,让数据库完成自动拼接。两者效果是相同的,所以为了省事还是直接使用语句,让数据库进行拼接。

简单来说,省下来的时间实际上是网络延迟。

还需要注意:mysql批处理的缓存大小为4MB,建议每次缓存数据不要超过1000条,否则会出现存储max的异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值