在项目中对数据需要进行验证,就直接用jdbc写的,在往数据库中插入数据的时候,开始没有使用批量处理,跑了50多秒(总共有470条数据,940个字段,连接的是远程数据库),50秒肯定是不行的,后面我加入了批量处理,跑了20秒,这完全达不到批量处理的要求。因此我去寻找各种原因,发现逻辑和代码都没有任何错误。下面是我监控的消耗时间:
对代码进行时间监控发现,pst.executeBatch()效率慢的问题,这样我只有去检查jdbc连接问题了,最后发现是缺少rewriteBatchedStatements=true参数,如果没有这个参数的话,实际还是一条一条在插入至数据库,因此造成了性能低的原因
最后是正常的批量插入耗时
这样才是正常的,470条数据不应该超过一秒
jdbc executeBatch()效率低我遇见的问题及解决
最新推荐文章于 2024-05-11 16:18:46 发布