Rewrite
서브쿼리와 OR 재작성은 계획 비교가 먼저다
JOIN, EXISTS, UNION ALL 변환은 항상 좋은 것이 아니다. 의미 동일성과 실행 계획 차이를 함께 확인한다.
재작성 후보
확인할 위험
측정 항목
상관 서브쿼리 → JOIN
반복 실행이 실제로 남는지 확인
rows, loops, join 방식
IN ↔ EXISTS
NULL, 중복, semi join 변환 차이
결과 동일성과 계획 비교
OR → UNION ALL
중복 제거 조건과 NULL 의미 보존
각 분기 인덱스 사용 여부