java处理db2中大量数据?

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

1回答

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

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

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

提问者

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

问题状态

  • 发布时间:2018-11-15
  • 关注会员:3 人
  • 问题浏览:879
  • 最近回答:2018-11-22
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30