【发布时间】:2017-06-22 12:36:07
【问题描述】:
我正在尝试更新近 8 亿行并搜索最佳方法。 我已经尝试使用批量收集和更新,但需要很长时间。 我在每 5000 条记录后提交。 130 分钟。我只准备了 0.25%,所以我正在寻找另一种方式。 表的结构是
CAMP_TASK NUMBER
CODE_SYSTEM VARCHAR2(10 CHAR)
ID_SOURCE VARCHAR2(40 CHAR)
ID_SOURCE_PARENT VARCHAR2(40 CHAR)
DATE_EFFECTIVE DATE
PROC_INSERTED NUMBER
PROC_UPDATED NUMBER
CAMP_TASK_PARENT NUMBER
如果 id_source_parent 不为空,我必须使用 camp_task 值更新 camp_task_parent 字段。所以换句话说,如果一个有 id_source_parent 我已经找到了他对应的 cam_task 并用它更新 camp_task_parent 以用于当前的行。
谢谢!
【问题讨论】:
-
你真的需要在一笔大交易中完成吗?
-
好吧,我在每 5000 条记录后提交
-
那么表中大约有8亿条记录有ID_SOURCE_PARENT?当你总是可以从另一个表中读取它们时,为什么你必须更新它们?只是为了方便访问吗?那么也许一个视图就足够了。
-
如果您不介意,请告诉我们这个过程最终花了多长时间