출처 : http://piyoro.tistory.com/39
--------------------------------------------------
select /*+ index( idx_col_1 ) */
name, age, hobby
from member
--------------------------------------------------
*오라클 힌트 사용표
INDEX ACCESS OPERATION 관련 HINT | ||
HINT | 내용 | 사용법 |
INDEX | INDEX를 순차적으로 스캔 | INDEX(TABLE명, INDEX명) |
INDEX_DESC | INDEX를 역순으로 스캔 | INDEX_DESC(TABLE명, INDEX명) |
INDEX_FFS | INDEX FAST FULL SCAN | INDEX_FFS(TABLE명, INDEX명) |
PARALLEL_INDEX | INDEX PARALLEL SCAN | PARALLEL_INDEX(TABLE명,INDEX명) |
NOPARALLEL_INDEX | INDEX PARALLEL SCAN 제한 | NOPARALLEL_INDEX(TABLE명,INDEX명) |
AND_EQUALS | INDEX MERGE 수행 | AND_EQUALS(INDEX_NAME, INDEX_NAME) |
FULL | FULL SCAN | FULL(TALBE명) |
JOIN ACCESS OPERATION 관련 HINT | ||
HINT | 내용 | 사용법 |
USE_NL | NESTED LOOP JOIN | USE_NL(TABLE1, TABLE2) |
USE_MERGE | SORT MERGE JOIN | USE_MERGE(TABBLE1, TABLE2) |
USE_HASH | HASH JOIN | USE_HASH(TABLE1, TABLE2) |
HASH_AJ | HASH ANTIJOIN | HASH_AJ(TABLE1, TABLE2) |
HASH_SJ | HASH SEMIJOIN | HASH_SJ(TABLE1, TABLE2) |
NL_AJ | NESTED LOOP ANTI JOIN | NL_AJ(TABLE1, TABLE2) |
NL_SJ | NESTED LOOP SEMIJOIN | NL_SJ(TABLE1, TABLE2) |
MERGE_AJ | SORT MERGE ANTIJOIN | MERGE_AJ(TABLE1, TABLE2) |
MERGE_SJ | SORT MERGE SEMIJOIN | MERGE_SJ(TABLE1, TABLE2) |
JOIN시 DRIVING 순서 결정 HINT | ||
HINT | 내용 | |
ORDERED | FROM 절의 앞에서부터 DRIVING | |
DRIVING | 해당 테이블을 먼저 DRIVING- driving(table) | |
기타 힌트 | ||
HINT | 내용 | |
append | insert 시 direct loading | |
parallel | select, insert 시 여러 개의 프로세스로 수행- parallel(table, 개수) | |
cache | 데이터를 메모리에 caching | |
nocache | 데이터를 메모리에 caching하지 않음 | |
push_subq | subquery를 먼저 수행 | |
rewrite | query rewrite 수행 | |
norewrite | query rewrite 를 수행 못함 | |
use_concat | in절을 concatenation access operation으로 수행 | |
use_expand | in절을 concatenation access operation으로 수행 못하게 함 | |
merge | view merging 수행 | |
no_merge | view merging 수행 못하게 함 |