[DB] UNION, UNION ALL 의 차이
UNION
, UNION ALL
UNION
, UNION ALL
은 각각 두 쿼리의 결과를 합친다.
중복 제거의 차이
UNION
은 중복되는 row 를 제거한다.
- 중복 제거의 기준은 모든 컬럼의 값이 동일한 경우
- Temporary 테이블의 모든 컬럼으로 Unique Hash 인덱스 생성
- 따라서 속도가 느린 편
UNION ALL
은 중복제거를 하지 않는다.
- 중복제거를 하지 않으므로
UNION
보다 상대적으로 빠르다.
모델링에 대한 점검
- 분리된 두 엔티티가 하나의 엔티티로 모델링되었어야하지 않는지 점검 필요
UNION
을 사용해야할 필요성
- ex) 테이블을 논리적으로 파티셔닝하지 않고 테이블 자체를 분리해버린 경우 등