[英]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.