Other Hints
Other Hints
- APPEND_HINT
/*+ APPEND */
- 직렬 모드 데이터베이스에서 Direct INSERT를 실행하게 한다.
- Enterprise Edition이 아닌 데이터베이스의 기본 모드는 직렬 모드이다.
이러한 직렬 모드 데이터베이스에서의 INSERT작업은 Conventional를
기본값으로 하고 병렬 처리 시에는 Direct INSERT를 기본값으로 한다.
- NOAPPEND
/*+ NOAPPEND */
- 병렬 모드에서의 INSERT작업을 Conventional 방식으로 수행한다.
- 병렬 모드에서는 Direct-path INSER가,
직렬 모드에서는 Conventional INSERT가 기본값이다.
- CACHE_HINT
/*+ CACHE (table) */
- 풀 테이블 스캔의 사용 시, 테이블에서 읽어온 블록을
버퍼의 LRU리스트의 MRU쪽에 위치시킨다. 작은 테이블의 사용 시 유용하다.
- NOCACHE
/*+ NOCACHE (table) */
- 풀 테이블 스캔의 사용 시, 테이블에서 읽어온 블록을
버퍼의 LRU리스트의 LRU쪽에 위치시킨다. 기본 모드이다.
- CURSOR_SHARING_EXACT
/*+ CURSOR_SHARING_EXACT */
- 바인드 변수 값의 교체를 불가능하게 한다.
- 기본적으로 CURSOR_SHARING 파라미터를 사용하여, 안전하다고 판단될 시
SQL 내의 바인드 변수 값을 교체할 수 있게 되어 있다.
- DYNAMIC_SAMPLING
/*+ DYNAMIC_SAMPLING ( [table] n ) */
- 해당 객체의 Selectivity와 Cardinality에 대한 보다 자세한 정보를 자동으로
생성시켜 실행한다.
- 값은 0부터 10까지 지정할 수 있으며, 높을수록 보다 자세한 정보를 생성하게
된다. 테이블에 해당 값을 지정하지 않았을 경우, 기본 값은 CURSOR 레벨의 값이 쓰여진다.
- UNNEST
/*+ UNNEST */
- 서브 쿼리 블록에 대해 인증성만을 검사하게 한다.
- 인증이 되었다면 그 이상의 검증작업 없이 서브쿼리에 대한 UNNESTING의
설정을 기능하게 한다.
- NO_UNNEST
/*+ NO_UNNEST */
- 해당 서브 쿼리 블록의 UNNESTING 설정의 사용을 방지한다.
- ORDERED_REDICATE
/*+ ORDERED_PREDICATE */
- 옵티마이저에 의한 조인 관계의 Cost를 산출하기 위해 미리 정해둔
조인 관계 별 실행 순서의 사용을 방지한다.
- 인덱스 키를 사용한 조인 관계들은 제외된다.
- 이 힌트는 쿼리의 WHERE절에 사용