오라클 힌트 모음

2011. 10. 20. 12:08일 이야기

# INDEX ACCESS OPERATION 관련 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명, INDEX명)
 FULL               FULL SCAN                   FULL(TABLE명)

 

# JOIN ACCESS OPERATION 관련 HINT

 USE_NL             NESTED LOOP JOIN            USE_NL(TABLE1, TABLE2)
 USE_MERGE          SORT MERGE JOIN             USE_MERGE(TABLE1, 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

 ORDERED                    FROM 절 순서대로 DRIVING
 DRIVING                    해당 테이블을 먼저 DRIVING

 


# 튜닝 관련 

 PUSH_SUBQ                  SUBQUERY를 먼저 수행
 REWRITE                    QUERY REWRITE 수행
 NOREWRITE                  QUERY REWRITE 를 수행못함
 USE_CONCAT                 IN절을 CONCATENATION ACCESS OPERATION으로 수행
 NO_EXPAND                  IN절을 CONCATENATION ACCESS OPERATION으로 수행금지


 MERGE                      VIEW MERGING 수행
 NO_MERGE                   VIEW MERGING 수행 못하게 함

 

# 기타 HINTS

 APPEND                     INSERT시 DIRECT LOADING
 PARALLEL                   SELECT, INSERT시 여러개의 프로세스로 수행 PARALLEL(TABLE명, 개수)
 CACHE                      데이터를 메모리에 CACHING
 NOCACHE                    데이터를 메모리에 CACHING하지 않음