사용자 도구

사이트 도구


study:oracle:datadb:4week_2:chap1

문서의 이전 판입니다!


3.3.1. 힌트(Hint)의 활용 기준


힌트(HINT)란?

사용자의 요구를 옵티마이져에게 전달할 수 있는 중요한 보조 수단


  • 과거 힌트가 탄생한 이유 : 초기 옵티마이져의 실수를 보완해주기 위해서 였음
  • 현재 힌트가 사용되는 경우 : 잘못을 잡아주는 용도보다 옵티마이져가 가지고 있지 못하는 정보를 우리가 더많이 알고 있을 때나 우리의 특별한 목적을 관철하고자 할 때 사용하게 됨
  • 힌트의 특징
    1. 옵티마이져는 사용자의 힌트를 참조할 뿐임
    2. 다른의미에서는 바둑에서나 장기를 둘때의 '훈수'와 매우 유사하여 도움이된다면 받아들이고 가치가 없다고 생각되면 무시함
  • 힌트에 대한 고찰
    1. 힌트가 있다는 것 : 곧 그러한 유형의 액세스가 있다는 것을 의미함
    2. 새로운 힌트가 태어남 : 새로운 형태의 실행계획이 제공되었다는것이므로 숙지하여 활용해야 할것임
    3. 힌트가 다른것으로 대체 : 좀 더 나은방법으로 실행계획이 개선 되었음 의미함
    4. 힌트가 삭제 됨 : 이제 더 이상 그러한 방법의 실행계획이 제공하지 않겠다는 것을 의미하므로 우리가 영향을 받게 되는지에 대해 연구해 볼 필요가 있음
  • 만약 10% 이상의 쿼리에 힌트가 적용되고 잇다면 그원인을 찾아보아야함
    1. 옵티마이져 모드 선택이 잘못되었음
    2. 인덱스 구성이 전략적이지 못했을 가능이 높음
    3. 불필요한 힌트는 액세스 경로의 결정에 악 영향을 미치는 경우도 많음
    4. 너무 많은 힌트를 사용하게 되면 인덱스 구성이 변하였을때 애플리케이션을 찾아 일일이 수정해야 할지 모름
    5. 더 좋은 실행계획을 자연스럽게 옵티마이져가 찾을수 있음에도 불구하고 힌트로 인해 액세스 경로가 고정됨으로써 웅통성이 크게 저하될수 있음
결론
 '시행착오법'으로 하는 튜닝이 아닌 자신이 최적의 실행계획을 알고서 그렇게 되도록 유도하기 위해 힌트를 사용해야함 

  • * SYNTAX 예(Example) **
study/oracle/datadb/4week_2/chap1.1274857196.txt.gz · 마지막으로 수정됨: 2010/05/26 15:59 저자 zummaz