java大数据量循环插入时间效率问题!求解~优化方案

时间:2022-12-26 11:35:57
现在我使用的是jdbc,现在需要插入的数据大概在20W左右
1.我现在使用jdbc查出所有需要插入的数据,然后获取其中需要的数据,循环遍历updatae进入对应的表中,就是执行一个insert或者update语句,然后结束,这样就完成了一条。现在我有20W条。
2.现在的速度大概在一秒2-3条左右,感觉太慢了,想更快一点!
3.求大神知道方案,多线程好像在同一个机子操作同一个表好像没啥效率提升。只要能快点的方案都行,求解了!
4.小弟再次谢谢了!

8 个解决方案

#2


2楼的那个我百度过,好像同一台机子好像效果不大,有人发帖测试了的

#3


用的什么数据库呢?如果是mysql,需要在url上加rewriteBatchedStatements=true参数batch update才会起作用。

#4


批处理 分批提交呢 ,5万条提交一次呢

或者看看 这个

#5


我是直接开了10个线程去跑,下班前能跑完。。。。不知道这样合适不合适,效果是可以达到,前辈们指点

#6


20 万那么久的时间吗?  


为什么那么久阿。

#7


时间要那么久真心,没找到解决办法,我的插入不是单纯的插入有好几步:
1.查询出需要update的ID
2.根据id的某项截取字符串至需要的,传出结果作为参数
3.根据传出的参数再进行update,条件就是前面的id,修改项就是前面截取的参数。
这样才算一个完整的流程,可能旧了点,对数据库操作一个循环中就有两次

#8


写到存储过程中呢?其次你这个你得找到那个地方出现效率问题, 比如查询效率呢,
或者其他地方呢,你这个里面还涉及到其他业务的逻辑。

执行那么久是麻烦的。

#1


#2


2楼的那个我百度过,好像同一台机子好像效果不大,有人发帖测试了的

#3


用的什么数据库呢?如果是mysql,需要在url上加rewriteBatchedStatements=true参数batch update才会起作用。

#4


批处理 分批提交呢 ,5万条提交一次呢

或者看看 这个

#5


我是直接开了10个线程去跑,下班前能跑完。。。。不知道这样合适不合适,效果是可以达到,前辈们指点

#6


20 万那么久的时间吗?  


为什么那么久阿。

#7


时间要那么久真心,没找到解决办法,我的插入不是单纯的插入有好几步:
1.查询出需要update的ID
2.根据id的某项截取字符串至需要的,传出结果作为参数
3.根据传出的参数再进行update,条件就是前面的id,修改项就是前面截取的参数。
这样才算一个完整的流程,可能旧了点,对数据库操作一个循环中就有两次

#8


写到存储过程中呢?其次你这个你得找到那个地方出现效率问题, 比如查询效率呢,
或者其他地方呢,你这个里面还涉及到其他业务的逻辑。

执行那么久是麻烦的。