본문 바로가기

프로그래밍/oracle

oracle - [Hint]오라클 힌트란?

반응형

[Hint]오라클 힌트란? 

 

 

[Hint]오라클 힌트란?


힌트는 SQL 튜닝의 핵심부분으로 일종의 지시구문이며 SQL에 포함되어 쓰여져 Optimizer의 실행 계획을 원하는 대로 바꿀 수 있게 해줍니다. 오라클 Optiomizer라고 해서 항상 최선의 실행 계획을 수립할 수는 없으므로 테이블 이나 인덱스의 잘못된 실행 계획을 개발자가 직접 바꿀 수 있도록 도와주는 것이 Hint 입니다. 


사용자는 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지에 대해 알고 있는데 이 경우 오라클 서버의 Optimizer에 의존하여 나온 실행 계획보다 훨씬 효율적인 실행계획을 사용자가 구사할 수 있다는 것입니다.


힌트를 사용하게 되면  액세스 경로, 조인의 순서, Optiomizer의 목표(Goal)를 변경 가능하며 SQL 문장 내에 “/*+ 힌트내용 */” 형태로 사용되어 지며 여기서 주석 표시와 다른점은 더하기(+)가 있다는 것이니 주의 바랍니다.


아래의 힌트 사용예는 비용기반 옵티마이저에서 규칙-기반 옵티마이저 Mode로 바꾸기 위한 것입니다.


SQL>SELECT /*+ RULE */ 

ENAME, SAL

     FROM   EMP

     WHERE  EMPNO > 1000;


 

 

 

 


반응형