티스토리 뷰

반응형

둘 다 특정 기준으로 데이터를 그룹화하고, 집계하는 함수라고 생각했는데 뭐가 다른걸까?

참고: https://kimsyoung.tistory.com/entry/GROUP-BY-vs-PARTITION-BY-%EC%9C%A0%EC%82%AC%EC%A0%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

GROUP BY vs. PARTITION BY: 유사점과 차이점

윈도우 함수는 SQL의 유용한 기능 중 하나입니다. 윈도우 함수를 잘 사용할 줄 안다면 여러분의 인생은 보다 편안해질 것입니다. 이 글에서는 GROUP BY와 PARTITION BY의 차이점을 살펴보고자 합니다. P

kimsyoung.tistory.com

 

이 블로그에서 자세히 다뤄서 여기서 보는게 나은듯 하다

 

결론:

  • GROUP BY는 그룹으로 묶으면서 기존의 행 단위 데이터가 사라진다
  • PARTITION BY는 기존의 행 단위 데이터가 사라지지 않는다
  • PARTITION BY는 OVER()라는 윈도우 함수와 같이 쓰인다

 

 

GROUP BY가 여러개의 상자를 모아서 큰 하나의 상자를 만드는 방식이라면,

PARTITION BY는 여러개의 상자를 각각 조사해서 조사 결과를 각 상자에 다시 써놓는 방식

 

 

성능의 차이가 있을까?

 GPT에게 물어본 결과

 

메모리 사용량 관점

  • GROUP BY는 그룹당 하나의 행이 반환되므로 메모리 사용량 적음
  • PARTITION BY는 모든 행이 결과에 포함되므로 데이터 양이 줄어들지 않음 -> 메모리 사용량이 더 많아질 수 있음

 

 

병렬처리 가능성

  • GROUP BY는 종종 데이터를 정렬하거나 해시 테이블을 구성하는 등의 작업이 필요하므로, 
  • 병렬 처리가 제한적일 수 있다
  • PARTITION BY는 데이터가 여러 파티션으로 나뉘고 각 파티션 내에서 독립적으로 계산되기 때문에,
  • 병렬 처리의 이점을 누릴 가능성이 더 크다

 

결론은 상황에 따라 다르다고 하네요

성능의 차이로 선택하기 보단

기존의 행이 유지되느냐, 유지되지 않느냐의 상황에 따라 

선택해서 사용하는 것 같습니다

 

 

반응형

'개념 > 데이터베이스시스템' 카테고리의 다른 글

Indexing  (0) 2022.11.11
Advanced Queries  (0) 2022.10.26
Intermediate SQL QUIZ  (0) 2022.10.26
Basic SQL  (0) 2022.10.26
Relational Model  (0) 2022.10.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함