** 인텍스

 

힌트

인텍스방법 

 인덱스

 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

+ Recent posts