조인 순서 조정을 위한 힌트(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절에 정의된 테이블 순서에 의해 드라이빙이 시작되며 조건절의 경우 드라이빙 된 테이블의 조건을 추출하여야 한다.(강제적으로 해당 테이블의 드라이빙 및 데이터 추출 순서 조절 가능)

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86773
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79083
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95845
22 UNION과 UNION ALL 의 차이 및 주의 사항 졸리운_곰 2017.08.27 1284
21 컬럼내 특정 문자를 다른문자로 변경하고자 할때 졸리운_곰 2017.06.10 1504
20 [MySQL] 레코드 데이터 치환하기 (REPLACE) 졸리운_곰 2017.06.10 1429
19 MySQL / 테이블에서 특정 문자열 바꾸기 졸리운_곰 2017.06.10 1307
18 MySQL Redis Plugin file 졸리운_곰 2017.05.30 1724
17 [DB] MySQL Check, Repair, Optimize(개별/전체 테이블 포함) 졸리운_곰 2017.05.21 1251
16 Transfer from sqlite to MySQL/ sqlite에서 mysql로 변환 졸리운_곰 2017.03.18 1132
15 [MySQL] 힌트설정 / 쿼리캐시 졸리운_곰 2017.03.15 1512
14 [MySQL힌트 정리] 졸리운_곰 2017.03.15 1719
13 [mysql]Hint 사용방법 졸리운_곰 2017.03.15 1509
12 MySQL Ver. 5.1 힌트를 이용한 실행계획 제어 file 졸리운_곰 2017.03.15 1186
11 MySQL 덤프 / 임포트 dump / import 졸리운_곰 2017.01.05 1523
10 [질문] 두개의 컬럼에 대해 group by 적용 할 수 있을까요? 졸리운_곰 2016.12.17 844
9 MySQL 중복 키 관리 방법 (INSERT 시 중복 키 관리 방법 (INSERT IGNORE, REPLACE INTO, ON DUPLICATE UPDATE) 졸리운_곰 2016.12.17 1111
8 [mysql] 쿼리값이 NULL 일때 0으로 바꾸기 졸리운_곰 2016.12.14 1197
7 MySql] Insert Select 문 졸리운_곰 2016.12.06 1410
6 [MySQL] substring_index , substring ( split, explode ) 졸리운_곰 2016.12.06 1367
5 MySQL 테이블 이름변경, 테이블 복사 졸리운_곰 2016.11.23 1537
4 [MySQL] MySQL 테이블 수정 졸리운_곰 2016.11.16 1542
3 generate days from date range mysql 날짜검색시 between 안에 포함되는 날짜전체 출력 졸리운_곰 2016.11.02 1261
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED