오라클 push_pred 질문 0 1 2,585

by ndkeka11 [Oracle 기초] 오라클 [2024.01.18 13:18:07]


SELECT /*+ LEADING(P) USE_NL(O) INDEX_DESC(P 상품_X1) */

    P.상품코드, P.상품명, P.등록일시, P.상품가격, P.공급자ID, O.총주문수량, O.총주문금액

FROM (

            SELECT

                  /*+ NO_MERGE PUSH_PRED INDEX(A 주문상품_X2) */ 상품코드, SUM(주문수량) 총주문수량, SUM(주문금액) 총주문금액

             FROM 주문상품

            WHERE 주문일시 >= ADD_MONTHS(SYSDATE, -1)

               AND 할인유형코드 = 'K890'

            GROUP BY 상품코드

         ) O, 상품 P

WHERE P.상품코드 = O.상품코드

ORDER BY P.등록일시 DESC;

[인덱스]

상품_x1 : 등록일시

주문상품_x2 : 할인유형코드 + 상품코드 + 주문일시

 

이런 상황에서 저기 인라인뷰에서 push_pred 힌트를 주면 상품_x1을 index_desc로 읽고 여기서 읽히는 row 하나하나 서브쿼리 안쪽에 밀어넣는건가요?

by 마농 [2024.01.18 14:17:09]

네. 맞습니다.

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