最近优化视图 看到执行计划有点乱,NOT EXISTS 是否可以改写
SELECTA.COL1,B.COL1 FROM A ,B
WHERE A.ID=B.ID
AND NOT EXISTS
(SELECT 1
FROM C JOIN D
ON C.SID=D.SID
WHERE B.INSTANCE_ID=D.INSTANCE_ID
AND NVL(C.FLAG,'N')='N')
UNION ALL
SELECTA.COL1,B.COL1 FROM A ,B
WHERE A.ID=B.ID
AND NOT EXISTS
(SELECT 1
FROM C JOIN D
ON C.PID=D.PID
WHERE B.INSTANCE_ID=D.INSTANCE_ID
AND NVL(C.FLAG,'N')='Y'); |