|
힌트 |
인텍스방법 |
인덱스 |
index |
range scan / unique scan : /*+ index(t1 idx1) */ |
index_fs |
indexx full scan |
|
index_ffs |
indexx fast full scan |
|
index_ss |
index skip scan |
|
index_desc, _asc |
index descending scan, ascending scan |
|
no_index |
not index |
|
index_combine |
index bitmap merge scan |
|
and_equal |
index merge scan |
|
** 조인순서 및 조인방법
| 힌트 | 인텍스방법 |
조인 순서 | leading | 테이블 지정 순 : /*+ leading(t1 t2 t3) */ |
ordered | from 절의 테이블 순 | |
swap_join_inputs | hash 조인시 해쉬 테이블 지정 : /*+ hash_sj swap_join_inputs(t1) */ | |
no_swap_join_inputs | hash 조인시 probe 테이블 지정 : /*+ hash_aj no_swap_join_inputs(t1) */ | |
조인 방법 | use_nl | nested loop ioin : /*+ use_nl(t1) */ |
use_hash | hash join | |
use_merge | sort merge join | |
** 서브퀴리 힌트
| 힌트 | 인텍스방법 |
순수 서브퀴리로 수행 | push_subq | 서브 퀴리부터 수행 : /*+ no_unnest push_subq */ |
no_push_subq | 메인 퀴리부터 수행 : /*+ no_unnest no_push_subq */ | |
서브퀴리를 조인으로 변경 | nl_sj / nl_aj | nested loop semi join / anti join |
merge_sj / merge_aj | sort merge semi join : /*+ merge_sj */ | |
hash_sj / hash_aj | hash semi join : /*+ hash_sj swap_join_inputs(t1) */ | |
** 퀴리 변형기 제어하는 힌트
| 힌트 | 인텍스방법 |
퀴리 변형기 제어 | unnest | 서브퀴리를 조인으로 변경하라 : /*+ unnest push_subq */ |
no_unnest | 서브퀴리를 조인으로 변경하지 말아라 : /*+ no_unnest no_push_subq */ | |
merge | view 또는 in line view 해체 하라 | |
no_merge | view 또는 in line view를 해체하지 말아라 | |
use_concat | in 을 union all 로 변경하거나 하지 못하게 | |
no_query_transformation | 퀴리를 변형하지 말아라 | |
'ORACLE > 튜닝' 카테고리의 다른 글
해시조인 뽀개기 (0) | 2017.08.23 |
---|---|
use_hash_aggregation - GROUP and ORDER BY (0) | 2017.08.18 |
[Hint] SWAP_JOIN_INPUTS (0) | 2017.07.19 |
Oracle Real-Time SQL Monitoring (0) | 2017.06.30 |
SPM(SQL PLAN MANAGEMENT) 사용 방법 #2 (0) | 2017.06.15 |