'중복행제거'에 해당되는 글 1건

  1. 2010.09.10 Group By와 Distinct의 차이가 뭘까?

Group By와 Distinct의 차이가 뭘까?

Oracle 2010. 9. 10. 09:45
Group By와 Distinct 모두 Select 구문과 함께 사용되면서, 중복행을 제거하기 위해서 많이들 사용합니다.

물론 Group By의 경우에는 단순히 중복행을 제거하는 기능만 있는것은 아니지만 말입니다.

Oracle 9i까지는 Distinct와 Group By 모두 Plan 상에서 Sort를 발생시킵니다.

하지만, Oracle 10g이상부터는 Group By의 경우 Sort가 Plan 상에서 없어지게 되지요.

불필요한 Sort로 성능을 저해하는 요인(?)을 제거해보겠다.... 뭐 그런 맥락인것이지요.

그럼 여기서 생기는 궁금증 하나??


▷ 단순히 중복행을 제거하기 위해서 Group By와 Distinct를 사용한다고 했을 경우 두개의 차이점은??

    적은 Data의 양을 가지고 중복행을 제거하고자 할 때는 Distinct가 빠르고,

    많은 Data의 양을 가지고 중복행을 제거하고자 할 때는 Group by가 빠르다고들 한다.

    왜일까??  


위의 문제에 대해서 좀 더 알아보아야 할 것 같다.
:     

TISTORY에 Login하려면 여기를 누르세요.