본문 바로가기
DATABASE

mysql union과 union all의 차이

by 하이바네 2021. 5. 31.
반응형

테이블이나 데이터를 합쳐야 하는 경우 UNION 또는 UNION ALL을 사용 한다.

 

정확하게는 mysql에서 UNION DISTINCT와 UNION ALL 두 종류로 나뉜다고 볼 수 있다.

 

UNION이라고 쓰는게 UNION DISTINCT로 된다는 것이다.(글자가 생략되어 있다고 보면 된다.)

DISTINCT는 일반적으로 쓰는 그대로 중복을 제거 해준다는 뜻이다.

 

그런데 여기서 문제점은 속도 저하, 그리고 무엇을 기준으로 DISTINCT를 해준다는 것인지 이다.

 

그리고 또 하나 확인 할 점! 중복 제거는 모든 컬럼을 기준으로 한다는 것. 

 

상황에 따라서 사용이 있겠지만 아무래도 UNION DISTINCT를 많은 데이터가 있는곳에서 사용하기에는 음....

 

정확하게 아직 데이터가 너무 많아 발생한 문제는 없었는데, 겪어봐야 알듯 하다.(상황을 겪으면 내용 추가 예정)

728x90

댓글