切换到正确的模式
JOIN
语法可能不会改变性能。然而,它将使查询更易于理解和维护。
另一方面,切换
NOT IN
到
NOT EXISTS
可能会提高性能。所以我建议:
SELECT . . .
FROM MLOGIC.ATTR.MARKETING_TOUCHPOINTS SE JOIN
MLOGIC.COST.AD_COST_DISTRIBUTION AC
ON SE.TOUCHPOINT_DATE = AC.TOUCHPOINT_DATE AND
SE.AD_ID = AC.AD_ID JOIN
MLOGIC.COST.SOURCE_MEDIUM_COST_DISTRIBUTION MC
ON SE.TOUCHPOINT_DATE = MC.TOUCHPOINT_DATE AND
SE.MEDIUM_ID = MC.MEDIUM_ID
WHERE NOT EXISTS (SELECT 1
FROM LEAD_EVENTS LE
WHERE LE.TOUCHPOINT_ID = SE.TOUCHPOINT_ID -- guessing on the name of the column
);
对于这个,你需要一个索引
LEAD_EVENTS(TOUCHPOINT_ID)
.