一、该问题的重现步骤是什么?
1. 准备:一个Spring Jdbctemplate的环境、一个Springboot+Mybatis的纯净环境、Bladex框架-Biz工程
2. 同时对单表,18个字段进行批量插入,分别测试100-10万条数据的插入。数据库为MySQL。
3.记录每次插入的时间。
二、你期待的结果是什么?实际看到的又是什么?
期待的结果是:框架的插入效率,应该跟Spring+Mybatis差异不大,但是实际看到的结果是,在批量插入超过5000条的时候,我们框架的插入速度已经比Spring+Mybatis慢了1倍。
(插入均采用 Mybatis Mapper,传入List,XML文件为insert
可以看到,批量插入上万之后,纯净Mybatis已经比JdbcTemplate慢了1倍,而框架又比Mybatis慢了1倍。
能不能查一下,框架是哪里的封装影响了效率,我认为慢其实是可以接受的,毕竟封装就会慢,但是这个慢了1倍,还是太多了,或者给一个方向,我们的行业,批量数据同步很多,很多导入、接口引导等存在不少上万数据导入的场景,所以比较关注这个问题。
插入方式 插入条数 | jdbc | 纯净Spring+Mybatis | 使用框架测试 | SqlExecute(日志打印SQL实际执行时间) |
100 | 204 | 217 | 56 | 6 |
500 | 267 | 340 | 195 | 22 |
1000 | 294 | 427 | 395 | 41 |
2000 | 372 | 584 | 718 | 70 |
5000 | 619 | 967 | 1789 | 157 |
10000 | 934 | 1468 | 3470 | 374 |
50000 | 2503 | 4856 | 9234 | 1460 |
100000 | 4635 | 9318 | 21098 | 7465 |
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
最新版本,windows系统,IDEA开发环境,32GB内存电脑,配置应该是没问题的,而且测试是在同一台电脑同一个数据库。
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
如还需要其他信息,可以在评论区继续讨论
扫一扫访问 Blade技术社区 移动端