[SQL] 중복이 없다면 UNION 보단 UNION ALL

Unit·2025년 5월 11일

SQL

목록 보기
12/59

UNION은 두 쿼리 결과를 합친 뒤 중복을 제거합니다.

하지만 중복이 없다는 걸 이미 알고 있다면,
굳이 UNION을 쓸 이유는 없습니다.
이럴 땐 UNION ALL이 더 빠르고 가볍습니다.


✅ 예시

-- 중복 제거 : 추가 연산 발생 (정렬 또는 중복 제거 처리)
SELECT user_id FROM users_2023
UNION
SELECT user_id FROM users_2024;

-- 중복 제거 안 함 : 더 빠름
SELECT user_id FROM users_2023
UNION ALL
SELECT user_id FROM users_2024;

→ 중복이 없다는 걸 알고 있다면, UNION ALL이 쿼리 비용을 줄이는 더 좋은 선택입니다.


정리

✔️ UNION은 중복 제거가 필요할 때만 사용하세요.
✔️ 중복이 없다면 UNION ALL이 더 빠르고 효율적입니다.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글