크라
121
2021-06-14 17:49:39
1
71

오라클에서 rank 사용시 index가 어떤거 타는지 궁금합니다.


SELECT 

RANK() OVER (PARTITION BY A.COL1 ORDER BY A.COL2 DESC, A.COL3 DESC) AS RANK

FROM TABLE_A A

        , TABLE_B B

WHERE A. A.COL4 = B.COL4


했을때 A테이블의 index는 COL4 뿐만이 아니라 COL1, COL2, COL3까지 다 타는 건가요?

0
  • 답변 1

  • 짐이되지말자
    252
    2021-06-14 18:05:38

    인덱스의 컬럼 구성이 col4 , col1, col2 desc, col3 desc 와 같이 정확히 일치한다면 

    모든 인덱스를 효율적으로 타고, window sort도 일어나지 않습니다.


    인덱스 구성은 맞지만 정렬이 다를때도 인덱스를 탑니다 하지만 window sort는 일어날 것 같습니다.


    https://scidb.tistory.com/entry/%EB%B6%84%EC%84%9D%ED%95%A8%EC%88%98%EC%9D%98-%EC%8B%A4%ED%96%89%EA%B3%84%ED%9A%8D-1%EB%B6%80

  • 로그인을 하시면 답변을 등록할 수 있습니다.