상세 컨텐츠

본문 제목

힌트 사용 방법

DataBase/Oracle

by 탑~! 2012. 5. 21. 13:45

본문


인덱스 힌트 포맷은 대략 아래와 같다.

     select /*+ index(TABLE_NAME INDEX_NAME) */ col1...

이러한 힌트사용에 대해 반드시 지켜야 하는 규칙이 있는데,
정리하면 아래와 같다.

[1] TABLE_NAME 은 반드시 써주어야 한다.

[2] 질의 문장에 테이블 ALIAS를 사용했다면, hint에도 테이블 ALIAS를
    사용한다.

[3] 만약 TABLE_NAME이나 테이블 ALIAS의 spelling이 틀렸다면, hint를
    사용하지 못하게 된다.

[4] INDEX_NAME 은 반드시 써줄 필요는 없다.

[5] 만일 TABLE_NAME없이 INDEX_NAME만 써주었다면, 힌트를 사용하지
    못하게 된다

[6] 만일 TABLE_NAME만 써주었다면, OPTIMIZER는 STATISTICS를 참조하여
    가장 적절한 인덱스를 결정한다.

[7] 만일 TABLE_NAME은 정확히 써주었으나, INDEX_NAME은 철자가 틀렸다면
    OPTIMIZER는 힌트를 사용하지 못한다.

[8] PARSER/OPTIMIZER는 본래의 질의 문장을 PARSING 중 변형시킨다.
    이 변형과정에서 PARSER/OPTIMIZER는 힌트로 준 INDEX를 사용하지 않는
    ACCESS PATH를 결정할 수도 있다.

 

'DataBase > Oracle' 카테고리의 다른 글

Procedure Sample  (0) 2012.05.22
DB Link 방법  (0) 2012.05.21
숫자를 한글로 표기하는 Function  (0) 2012.05.21
계층형 데이타 Query  (0) 2012.05.18
테이블 함수 예제 2  (0) 2012.05.18

관련글 더보기