合并需要很长时间才能更新记录

时间:2021-05-08 15:52:08

标签: sql oracle performance oracle11g oracle10g

enter image description here我们正在使用合并查询从与目标表具有相同结构的源表中更新 2 列。但是当执行合并查询时,它会持续运行很长时间。源表 PSP_LABOR_SCHD_DAY_F_ROLLUP_FRS_356 具有“22603114”行,必须对其进行更新的目标表“EDWFIN.PSP_LABOR_SCHD_DAY_F_ROLLUP”由“1118892748”行组成。目标表在这些列上有一个索引。

MERGE INTO EDWFIN.PSP_LABOR_SCHD_DAY_F_ROLLUP A USING
EDWFIN.PSP_LABOR_SCHD_DAY_F_ROLLUP_FRS_356 B ON
(
  A.PAY_RANGE_START_DATE_KEY = B.PAY_RANGE_START_DATE_KEY AND
  A.AA_PERSON_NATURAL_KEY    = B.AA_PERSON_NATURAL_KEY AND
  A.AA_PERSON_ASSIGNMENT_KEY = B.AA_PERSON_ASSIGNMENT_KEY AND
  A.SCHEDULE_LINE_ID         = B.SCHEDULE_LINE_ID
)
WHEN MATCHED THEN
  UPDATE
  SET
    A.SRC_CREATED_DATE     = B.SRC_CREATED_DATE,
    A.SRC_LAST_UPDATE_DATE = B.SRC_LAST_UPDATE_DATE ;

这些是目标表“PSP_LABOR_SCHD_DAY_F_ROLLUP”中定义的Index

PSP_LABOR_SCHD_DAY_F_PART_60 HR_PAY_PERIOD_KEY PSP_LABOR_SCHD_DAY_F_PART_64 SCHEDULE_LINE_ID PSP_LABOR_SCHD_DAY_F_PART_61 PAY_RANGE_START_DATE_KEY PSP_LABOR_SCHD_DAY_F_PART_02 AA_PERSON_NATURAL_KEY PSP_LABOR_SCHD_DAY_F_PART_03 AA_PERSON_ASSIGNMENT_KEY

0 个答案:

没有答案
相关问题