java处理db2中大量数据?

java将db2中大表进行加工处理输出到另一张表中,大表数据百万级。
由于直接select会内存溢出,java使用了游标处理,然后写入另一张表中,速度很慢,用sql3~5分钟,用java调用1.5小时,主要原因是游标取数和数据插入很慢,数据插入使用了批处理依旧很慢。
有没有好的解决方案?

参与9

1同行回答

huangdkhuangdk  数据库架构师 , IBM
游标顺序取肯定是慢了。你考虑下根据业务按批select处理呢? select 内存溢出?什么错误消息?解决这个吧显示全部

游标顺序取肯定是慢了。你考虑下根据业务按批select处理呢? select 内存溢出?什么错误消息?解决这个吧

收起
IT咨询服务 · 2018-11-22
浏览2000
  • select会导致java堆溢出,按业务批处理的话业务上就是全表取数,再分开不好分。而且分多次读取之后或导致多次读表单个业务更快但总体可能会更慢。 后来发现主要不是游标慢,游标100w数据17s,必要慢,不过能接受。能再优化更好
    2018-11-22

提问者

冰玉
数据库开发工程师上海海典

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-11-15
  • 关注会员:3 人
  • 问题浏览:2366
  • 最近回答:2018-11-22
  • X社区推广