UPDATE A
SET CHK = 'Y'
WHERE NOT EXISTS (SELECT 1 FROM B
INNER JOIN C
ON B.ID = C.REF_ID
WHERE A.ID = C.ID
AND ROWNUM = 1
)
;
A,C건수 = 10만건
B건수 = 1만건
B테이블은 C테이블이 유효한지 때문에 조인걸어주는거고요
간단히 보면 C에 값이 없으면 A를 업데이트 하는쿼리 인데요
NOT EXISTS 문 안에 ROWNUM = 1 을 써주면 쿼리가 많이 빨라지더라고요
결과값은 동일하고요
혹시 원리를 아는분 있으신가요?;; |