• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

질문있습니다.

20.10.22 02:20 작성 조회수 100

2

만약 mssql 에서 윈도우함수를 사용할 수 있다면,

윈도우 함수를 사용한 것과,  innerjoin, group by를 사용한 것의 차이가 무엇인가요? 예를들면, 속도가 더 빠르다거나.. 하는 것이요~

답변 2

·

답변을 작성해보세요.

0

안녕하세요. 추가적인 답변을 드립니다.


똑같은 쿼리처럼 보이더라도 각 DB 마다 실행하는 방법이나 최적화 방법이 다르기 때문에,

윈도우 함수를 사용하는 것과, GROUP BY를 사용하는 것과 '이런 점에 차이가 있다!'고 콕 찝어 말씀드리기는 어렵긴 합니다.

속도 면에서도, GROUP BY나 윈도우 함수를 사용해 어떻게 쿼리를 짰느냐에 따라 천차 만별로 달라질 수 있겠지요.


하지만 윈도우 함수와 GROUP BY가 아웃풋 형태 이외에 어떤 차이가 있는지 감을 잡아볼만한 자료가 있어서 몇 개 링크를 드릴게요.

  • https://stackoverflow.com/questions/32453293/sql-server-performance-comparison-between-over-partition-by-and-group-by
  • https://bertwagner.com/2019/04/16/window-functions-vs-group-bys/

여기에서 힌트를 찾으셨으면 좋겠고, 추가적인 자료는 구글에 'window function group by performance' 나 'performance comparison between window function and group by' 같은 키워드로 찾아보시면 될 것 같습니다 :)

감사합니다.

0

안녕하세요 yeyoung Kim님, 답변 드립니다.

우선 저희 강의에서는 mssql을 다루지 않아 답변이 어렵습니다.
질문 주신 내용을 강의에서 사용한 mysql로 생각해보더라도, 윈도우 함수와 innerjoin, group by를 사용하는 목적 자체가
경우에 따라 다를 수 있기 때문에 차이를 말씀드리기는 어렵습니다.

강의에서 다룬 내용 이외에는 답변이 어렵다는 점 양해 부탁드리며,
추후에 강의에서 설명한 내용과 관련하여 질문이 있으시다면 언제든 남겨주세요 :)