MyBatis-plus的saveBatch性能提升

最近在实现大数据量批量入库时采用mybatis-plus的saveBatch发现执行效率非常慢,当我测试插入10万条数据时,测试用例跑了半个小时,如果是每次执行insert效率确实会比较慢,但saveBatch是用于批量新增,在批量新增上效率应该是较快的,但跟insert的速度相同,通过控制台的SQL打印发现了批量新增没有生效,预期的批量新增执行的SQL应该是:

insert into t_student (id, name,address) values(1,'zs','北京'),(2,'ls','上海');

但控制台的SQL却是:

insert into t_student (id, name,address) values(1,'zs','北京');
insert into t_student (id, name,address) values(2,'ls','上海');

这是因为批量新增没有生效,还是采用默认的单次新增,这样每次新增时都会进行数据库的连接和释放,非常影响效率,解决的方法就是在JDBC的url参数增加:rewriteBatchedStatements=true这样就能在批量新增时进行一次数据库的连接和释放。

url: jdbc:mysql://localhost:33306/student?userSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&allowMultiQueries=true&rewriteBatchedStatements=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值