본문 바로가기

Database/SQLP

[SQLP] 자주 사용하는 SQL 힌트 목록

참고 교재 - 친절한 SQL 튜닝

 

분류 힌트 설명
최적화 목표 ALL_ROWS 전체 처리속도 최적화
FIRST_ROWS(n) 최초 n건 응답속도 최적화
액세스 방식 FULL Table Full Scan 유도
INDEX Index Scan 유도
INDEX_DESC Index 역순으로 스캔 유도
INDEX_FFS Index Fast Full Scan 유도
INDEX_SS Index Skip Scan 유도
조인 순서 ORDERED FROM 절에 나열된 순서대로 조인
LEADING LEADING 힌트 괄호에 기술한 순서대로 조인
ex) LEADING(T1 T2) -  T1, T2 순서대로 조인
SWAP_JOIN_INPUTS 해지 조인시, BUILD INPUT을 명시적으로 선택
ex) SWAP_JOIN_INPUTS(T1)
조인 방식 USE_NL NL 조인 유도
USE_MERGE Sort Merge 조인 유도
USE_HASH Hash 조인 유도
NL_SJ NL 세미조인 유도
MERGE_SJ Sort Merge 세미조인 유도
HASH_SJ Hash 세미조인 유도
서브쿼리 팩토링 MATERIALIZE WITH 문으로 정의한 집합을 물리적으로 생성하도록 유도
ex) WITH /*+ MATERIALIZE */ T AS (SELECT --- )
INLINE WITH 문으로 정의한 집합을 물리적으로 생성하지 않고 INLINE 처리하도록 유도
ex) WITH /*+ INLINE */ T AS (SELECT --- )
쿼리 변환 MERGE VIEW 머징 유도
NO_MERGE VIEW 머징 방지
UNNEST 서브쿼리 Unnesting 유도
NO_UNNEST 서브쿼리 Unnesting 방지
PUSH_PRED 조인조건 Pushdown 유도
NO_PUSH_PRED 조인조건 Pushdown 방지
USE_CONCAT OR 또는 IN-List 조건을  OR-Expansion 으로 유도
NO_EXPAND OR 또는 IN-List 조건에 대한 OR-Expansion 방지
병렬 처리 PARALLEL 테이블 스캔 또는 DML 을 병렬방식으로 처리하도록 유도
ex) PARLLEL(T1 2) PARALLEL(T2 2)
PARALLEL_INDEX 인덱스 스캔을 병렬방식으로 처리하도록 유도
PQ_DISTRIBUTE 병렬 수행 시 데이터 분배 방식 경정
ex) PQ_DISTRIBUTE(T1 HASH HASH)
기타 APPEND Direct-Path Insert 유도
DRIVING_SITE DB Link Remote 쿼리에 대한 최적화 및 실행 주체 지정
(Local 또는 Remote)
PUSH_SUBQ 서브쿼리를 가급적 빨리 필터링하도록 유도
NO_PUSH_SUBQ 서브쿼리를 가급적 늦게 필터링하도록 유도

 

'Database > SQLP' 카테고리의 다른 글

[SQLP] 데이터베이스 저장 구조  (0) 2024.02.28
[SQLP] SQL 파싱과 최적화  (0) 2024.02.14