繁体   English   中英

如何提高包含 Update 的 Merge 语句的性能

[英]How to improve performance of a Merge statement having Update in it

我们在 2 个表上有一个 MERGE STATEMENT,我们的批处理作业每天运行。 问题是 Merge 语句有时需要大约 20-25 分钟,有时需要大约 50-60 分钟来更新相同数量的数据。

MERGE INTO /*+ ENABLE_PARALLEL_DML PARALLEL (${DOP}) */ TAB1 Subpartition  (SUBAPARTITION_KEY2) A 
         USING  ${TAB2} B
         ON (A.ROWID = B.R1 and B.subpartition_key=SUBAPARTITION_KEY1)
         WHEN MATCHED THEN UPDATE SET change_status_code = B.change_status_code

此外,即使我在 R1 字段的 TAB2 上创建索引,解释计划也不会显示正在使用的索引。

任何人都可以建议应该在这里做什么.. 每天大约 4-5 百万条记录得到更新

提示必须紧跟在第一个关键字之后。

改变这个:

MERGE INTO /*+ ENABLE_PARALLEL_DML PARALLEL (${DOP}) */ ...

对此:

MERGE /*+ ENABLE_PARALLEL_DML PARALLEL (${DOP}) */ INTO  ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM