如此,就相当于你插入1万条数据,其实就是insert和查询序列合计预计2万次交互,耗时竟然达到10s多 。我们改为用原生的Batch插入,这样子的话,只要500多毫秒,也就是0.5秒的样子
<insert id="insert" parameterType="user">insert into table_name(id, username, password)values(SEQ_USER.NEXTVAL,#{username},#{password})</insert>
最后这样一顿操作,批处理 + 语句优化一下,这个业务直接从7分多钟变成10多秒,完美解决,撒花庆祝~
作者:Linn
链接:
https://juejin.cn/post/7078237987011559460
【Mybatis批处理踩坑,纠正网上的一些错误写法】
推荐阅读
- SpringBoot整合MybatisPlus数据自动填充
- 一个简单快速的MyBatis开发框架
- MyBatis 使用数组作为参数,这里藏着一个大坑
- MyBatis自动生成工具,开发编码好帮手
- 还不会用mybatis-plus,手把手教你
- MybatisPlus中实体类属性对应枚举类实现
- 电脑里批量修改文件名,批处理实现及详细说明,findstr补充说明
- MyBatis源码解析
- Spring boot 2.x 集成Mybatis-plus 实现多租户
- DOS批处理命令:for循环详细说明及例子