SQL | DISTINCT vs GROUP BY

DoItDev·2021년 8월 7일
0
post-thumbnail

Distinct vs Group By

distinct 와 group by 이 두가지 키워드는 흔하게 사용하는 sql 구문이다.
그럼 이 두가지는 무엇을 하느냐 .. 바로 그룹핑 sql 에서 그룹핑 기능을 한다.
그럼 이 두개의 기능은 동일한 결과물을 도출을 한다.

스크린샷 2021-08-07 오전 8 59 20
SELECT DISTINCT gender
From app_user;
SELECT gender
from app_user
GROUP BY gender;

그럼 두가지의 뭐가 다른데?

이 두가지의 차이점은 일단 더 간결한 group by 구문이 더 간결하다?
한가지 이유로는 DISTINCT구문에 비하여 GROUP BY 더 직관적이고 간결하다.
성능적인 이유도 그렇다 내가 만든 예시의 경우 1000 개 이상의 스몰데이터 이기 때문에
비슷한 성능이 나왔다.
하지만 100000 이상의 대용량 데이터를 읽는 다면 이야기는 다르다...
group by 구문이 앞 승을 한다...

왜 Group BY 가 성능이 크지 ?

일단 플로우를 보면 알 수 있다.
distinct 의 경우 한 번 indexing 한것을 읽고 sort 까지 한다.
하지만 groupby 의 경우 indexing 만 한다.
플로우 만 봐도 차이가 있다.

profile
Back-End Engineer

0개의 댓글