다음 문제를 풀어보세요.
다음 중 대용량 데이터 환경에서 집합 연산자 성능 최적화에 대한 설명으로 가장 적절하지 않은 것을 고르시오.
두 집합 간에 중복 데이터가 존재하지 않는 것이 업무 규칙상 보장된다면, UNION 대신 UNION ALL을 사용하는 것이 불필요한 정렬 작업을 방지하여 성능에 유리하다.
UNION 연산은 내부적으로 정렬(Sort) 또는 해시(Hash) 연산을 유발하므로 대용량 데이터 처리 시 성능 저하의 주원인이 될 수 있다.
MINUS 연산은 대량 테이블 간의 비교 시 성능이 크게 저하될 수 있으므로, 인덱스를 활용한 NOT EXISTS 서브쿼리나 아우터 조인(Outer Join) 조건 분기로의 변환을 검토하는 것이 좋다.
UNION ALL 연산 시 ORDER BY 절을 사용하여 각 SELECT 결과셋을 개별적으로 정렬한 후 합치는 것이 전체 결과에 대해 최종 정렬하는 것보다 대용량 성능 면에서 우수하므로 적극 권장된다.