为了账号安全,请及时绑定邮箱和手机立即绑定

mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神

标签:
Java

最近在做项目优化,代码优化之后,测试接口,好家伙。一个定时任务接口执行要10秒左右。

一点点追踪,给每个方法打上执行时间,一点点缩小范围。好家伙,终于让我锁定了目标。

图片描述

这是mybatis-plus的批量插入,由于调用的是第三方接口,他们有多少数据,我们就更新多少数据进数据表里面。初步一看,最多的那张表1000条数据左右,平均每个表300多条

最多那张表,进行数据更新,整整需要消耗2秒多

图片描述

这哪里能忍,一条sql差不多3秒,数据还只是1000条,要是达到数以万计,那不得崩掉。

赶紧找一波解决方法。最后锁定一个数据库连接的属性rewriteBatchedStatements

图片描述

加上这个属性,性能直接起飞,看效果

图片描述

结果1000条数据的插入,不到两毫秒。这速度,我都惊了。具体原理就不一一展开来讲了。下班要紧。

经过今天这一折腾,看来数据库这块,还是有必要深入学习的。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消