jdbc executeBatch()效率低我遇见的问题及解决

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

你可能感兴趣的:(jdbc executeBatch()效率低我遇见的问题及解决)