티스토리 뷰

2개 이상의 별도의 조회 쿼리 결과 값을 한번에 보고 싶을 때 UNION을 쓰게 된다.

A, B라는 조회데이터 집합이 있다고 한다면 UNION은 합집합 역할을 해준다고 생각하면 된다.

UNION 구문은 2가지로 나뉜다.

 

1. UNION DISTINCT : 중복값 제외하여 출력 (A∪B - A∩B)

2. UNION ALL : 중복 상관없이 출력  (A∪B)

 

일반적으로 쓰는 UNION은 UNION DISTINCT의 줄임말이며 같은 기능을 수행한다.

DISTINCT처럼 UNINO DISTINCT는 모든 컬럼의 데이터가 같은 중복된 로우를 걸러서 한줄만 출력해주고

UNION ALL은 데이터 중복여하 구분 없이 동일한 로우라도 있는대로 데이터를 출력한다.

 

그렇기 때문에 UNION [DISTINCT]의 경우는 내부적으로 중복을 체크하는 로직이 작동되는데 데이터가 적으면 차이가

미비하지만 데이터가 매우 많을 경우 중복 체크를 하는 과정에서 부하가 많이 발생하게된다.

 

따라서 중복여하가 필요없거나, 조회하고자 하는 데이터 자체가 중복될 일이 없을 경우는 UNION ALL을 사용하는 것이 부하를 덜 줄 수 있다.

 

나는 UNION 사용에 있어 차이를 간단히 정리할 목적이었기 때문에 내부 기능 수행에 따른 부하 발생 원인은

https://brownbears.tistory.com/126 이 곳에 상세히 정리되어 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함