문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
study:oracle:datadb:4week_2:chap3 [2010/05/26 16:23] zummaz |
study:oracle:datadb:4week_2:chap3 [2010/05/26 18:07] zummaz |
||
---|---|---|---|
줄 1: | 줄 1: | ||
- | ====3.3.3.==== | + | ====3.3.3.조인 순서 조정을 위한 힌트==== |
- | 조인 순서 조정을 위한 힌트이 힌트는 다수의 테이블을 조인하는 경우에 조인 순서에 혼선이 있을 때 적용하는 것이 가장 일반적이다. | + | *이 힌트는 다수의 테이블을 조인하는 경우에 조인 순서에 혼선이 있을 때 적용하는 것이 가장 일반적이다. |
- | Sort Merge 조인 이나 해쉬조인에서는 적은 테이블을 먼저 처리하도록 유도할 때 사용하는 것이 좋다. | + | *Sort Merge 조인 이나 해쉬조인에서는 적은 테이블을 먼저 처리하도록 유도할 때 사용하는 것이 좋다. |
===ORDERED=== | ===ORDERED=== | ||
- | FROM절에 기술된 테이블 순서대로 조인을 수행하도록 유도한다. | + | *FROM절에 기술된 테이블 순서대로 조인을 수행하도록 유도한다. |
- | 만약 LEADING 힌트와 함께 사용하면 LEADING 힌트는 무시된다. | + | *만약 LEADING 힌트와 함께 사용하면 LEADING 힌트는 무시된다. |
+ | *ORDERED 힌트는 액세스 순서만 제시할 뿐임 | ||
+ | | ||
- | 예) SELECT /*+ ORDERED */ ... | ||
- | FROM TAB1, TAB2, TAB3 | ||
- | WHERE .... | ||
- | ORDERED 힌트는 액세스 순서만 제시할 뿐이고, 조인 방법 과는 무관하기 때문에 조인방법을 유도하기 위한 USE_NL, USE_MERGE등의 힌트와 함께 사용하는 것이 일반적이다 | ||
- | 예) SELECT /*+ ORDERED USE_NL(A B C) */......... | + | 예) SELECT /*+ ORDERED */ ... |
+ | FROM TAB1, TAB2, TAB3 | ||
+ | WHERE .... | ||
+ | |||
+ | |||
+ | |||
+ | 예) SELECT /*+ ORDERED USE_NL(A B C) */......... | ||
FROM TAB1 a, TAB2 b, TAB3 c | FROM TAB1 a, TAB2 b, TAB3 c | ||
WHERE ........ | WHERE ........ | ||
| | ||
===LEADING=== | ===LEADING=== | ||
- | FROM절에 기술한 테이블의 순서와 상관없이 조인 순서를 제어하는 힌트로서 | + | *FROM절에 기술한 테이블의 순서와 상관없이 조인 순서를 제어하는 힌트 |
- | ORDERED 힌트와 함께 사용되면 무시된다. | + | *ORDERED 힌트와는 달리 |
+ | *ORDERED 힌트와 함께 사용되면 | ||
- | 예) SELECT /*+ LEADING(b c) */...... | + | |
FROM CUST a, ORDER_DETAIL b, ITEM c | FROM CUST a, ORDER_DETAIL b, ITEM c | ||
WHERE a.cust_no = b.cust_no | WHERE a.cust_no = b.cust_no | ||
줄 27: | 줄 32: | ||
AND .... | AND .... | ||
+ | ==참조한문서== | ||
+ | " |