힌트 이용한 정렬 대신 ORDER BY 절로 정렬하는 경우 SQL은 어떻게 되나요 0 0 4,719

by 실주 [SQL Query] ORDER BY [2012.03.17 00:24:27]



오라클에서 힌트 이용한 정렬 대신 ORDER BY 절로 정렬하는 경우 SQL은 어떻게 되는지 궁금합니다.

두개의 테이블 구성은 아래와 같습니다.

table1
column명 : colum1, colum2,colum3

table2

column명 : num1,num2,num3,num4,num5


다음과 같이 인덱스를 걸었습니다.
table1에도 걸었지만 여기서는 필요없는듯하여 생략..
table2   index_col
index column : num1 + num2


SQL 은 아래와 같습니다.====================

SELECT
   AA.total ,
   AA.colum1 ,
   AA.num3 ,
   CASE
WHEN colum3 = '01' THEN 'ABC'
ELSE ''
   END colum3

FROM   (SELECT ROWNUM AS ROWCNT ,
TMP.*
FROM   (SELECT /*+ leading(A D) use_nl(D) */ COUNT(*) OVER() AS total ,
A.colum1 ,
D.num3
    FROM   table1 A ,
   table2 D
    WHERE  1 = 1
AND    A.colum1 = D.num1
AND    D.num2 = (SELECT /*+ INDEX_DESC(table2 index_col)*/ num2
 FROM table2
WHERE  num1 = A.colum1
 AND    num4 = '01'
 AND num5 = 'Y'
 AND ROWNUM = 1 )
AND    A.colum3 = '01'
order by colum1 desc) TMP ) AA 
WHERE  0 < ROWCNT
AND    ROWCNT <= 10 ;


빨간색부분쪽에 신경을.... ^^

고수님들의 많은 답변 부탁드립니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입