문서의 이전 판입니다!
예) SELECT /*+ USE_NL(a b c) */…
FROM TAB1 a, TAB2 b, TAB3 c WHERE ...
Nested Loops조인이 최적이라 판단되는 상황에서는 옵티마이져가 이 힌트를 무시할수도 있다.
예) SELECT /*+ NO_USE_NL(l h) */…….
FROM orders h, order_items l WHERE l.order_id, = h.order_id AND l.order_date >= '20050101';
예) SELECT /*+ USE_NL_WITH_INDEX(l item_prod_ix) */….
FROM orders hm order_items l WHERE l.order_id = h.order_id AND l.order_item like 'ADEN%' AND h.order_dt between '20051001' and '20051015';
참고: Nested Loops 조인에서 '연결고리 정상'에 대한 상세한 개념 [ 2.2 연결고리 상태가 조인에 미치는 영향(page 517~523)편]
예) SELECT /*+ USE_HASH (a b) */…
FROM sale a, pre_order b WHERE a.order_id = b.order_id AND a.sale_dt LIKE '2005%';
*이와 반대로 NO_USE_HASH 힌트는 옵티아미져가 지정하 테이블들을 조인하는 데 있어서 해쉬 조인을 제외한 다른 방식의 조인을 고려하도록 유도한다.
예) SELECT /*+ NO_USE_HASH(m d) */….
FROM member m, dept d WHERE m.deptid = d.deptid;
예) SELECT /*+ USE_MERGE(a b) */…….
FROM sale a, pre_order b WHERE a.order_id = b.order_id AND a.sale_dt BETWEEN '20050701' AND '20050930' AND b.cust_no = '101'; *이와는 반대로 NO_USE_MERGE 힌트는 옵티마이져가 지정한 테이블을 조인하는데 있어서 Sort Merge조인을 제외한 다른 방식의 조인을 고려하도록 유도한다.