조인 순서 조정을 위한 힌트(ordered, leading)

이 힌트는 다수의 테이블을 조인하는 경우에 조인 순서에 혼선이 있을 때 적용하는 것이 가장 일반적이다.
Sort Merge 조인 이나 해쉬조인에서는 적은 테이블을 먼저 처리하도록 유도할 때 사용하는 것이 좋다.

 

 

ORDERED


FROM절에 기술된 테이블 순서대로 조인을 수행하도록 유도한다.
만약 LEADING 힌트와 함께 사용하면 LEADING 힌트는 무시된다.

 예) SELECT /*+ ORDERED */ ...
       FROM TAB1, TAB2, TAB3
       WHERE ....

 

ORDERED 힌트는 액세스 순서만 제시할 뿐이고, 조인 방법 과는 무관하기 때문에 조인방법을 유도하기 위한 USE_NL, USE_MERGE등의 힌트와 함께 사용하는 것이 일반적이다

 예) SELECT /*+ ORDERED USE_NL(A B C) */.........
      FROM TAB1 a, TAB2 b, TAB3 c
      WHERE ........

 

 

LEADING


FROM절에 기술한 테이블의 순서와 상관없이 조인 순서를 제어하는 힌트로서 ORDERED 힌트와는 달리 FROM절을 변경 필요 없이 사용할 수 있다.
ORDERED 힌트와 함께 사용되면 무시된다.

 예) SELECT /*+ LEADING(b c) */......
       FROM CUST a, ORDER_DETAIL b, ITEM c
       WHERE a.cust_no = b.cust_no
    AND b.item_no = c.item_no
    AND ....

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

다른 예

 

SELECT /*+ ORDERED USE_NL(a b u d) */
      B  .TASKID,
         B.ROOTINSTID,
         B.ROLENAME,
         B.TITLE,
         B.ENDPOINT,
         B.RESNAME,
         get_dept_fld ('ALL', U.DEPT_CD, 1) AS CUSCOM_NM,
         get_dept_fld ('ALL', U.DEPT_CD, 2) AS HQ_NM,
         D.DEPT_NM,
         U.POSI_NM,
         U.TEL_NO
  FROM   SR_WORKLIST01 A,
         BPM_WORKLIST B,
         SA_USER01 U,
         SA_DEPT01 D
 WHERE       A.INSTID = B.ROOTINSTID
         AND B.ENDPOINT = U.USER_ID
         AND U.DEPT_CD = D.DEPT_CD
         AND B.STATUS IN ('NEW', 'CONFIRMED')
         AND A.SR_CODE = #reqcd#

         AND b.isdeleted IS NULL

 

 

/*+ ordered */를 사용하게 되면 from절에 정의된 테이블 순서에 의해 드라이빙이 시작되며 조건절의 경우 드라이빙 된 테이블의 조건을 추출하여야 한다.(강제적으로 해당 테이블의 드라이빙 및 데이터 추출 순서 조절 가능)

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED