Toggle navigation
꿈꾸는 개발자, DBA 커뮤니티 구루비
공지
:
저작권
지식창고
구루비 DB 스터디 (2007년 ~ 2017년)
대용량 데이터베이스 스터디 (2009년 ~ 2011년)
코어 오라클 데이터베이스 스터디 (2009년 ~ 2011년)
주주클럽 스터디 (2013년 ~ 2018년)
Database Q&A
Oracle Database
권순용의 DB 이야기
권순용의 데이터모델링
엑시엄이 보는 DB 세상
Basic SQL 강좌
Advanced SQL 강좌
QUIZ로 배우는 SQL
PL/SQL 강좌
Admin 강좌
Oracle10g 강좌
Tuning 강좌
백업&복구 강좌
기타 강좌
Oracle 노하우/팁
Oracle 퀴즈
Oracle 자료실
Database 북카페
SQL 전문가 가이드
대용량 데이터베이스솔루션 I
대용량 데이터베이스솔루션 II
새로쓴 대용량 데이터베이스솔루션 1
오라클 성능 고도화 원리와 해법 I
오라클 성능 고도화 원리와 해법 II
SQL 튜닝의 시작
Optimizing Oracle Optimizer
비용기반의 오라클 원리
전문가를 위한 오라클 데이터베이스 아키텍처
트러블슈팅 오라클 퍼포먼스(제2판)
오라클 성능 트러블슈팅의 기초
클라우드 데이터베이스 Oracle 12c 가이드
이펙티브 오라클
데이터베이스 설계와 구축(개정판)
관계형 데이터 모델링 프리미엄 가이드 DB구축
Real MariaDB
Community
전체글
공지사항
사는얘기
좋은글감동
Toad for Oracle
Toad Data Point 강좌
Toad 기본강좌
Toad 소개
Toad 노하우/팁/자료
Tibero DB
우리 회사 데이터베이스를 티베로로 변경하기
Tibero5 기본강좌
Tibero4 기본강좌
Tibero 노하우/팁/자료
Database 기타
PostgreSQL 기본강좌
PostgreSQL 노하우/팁/자료
ALTIBASE 기초강좌
ALTIBASE 노하우/팁/자료
CUBRID 기초강좌
CUBRID 노하우/팁/자료
MySQL 노하우/팁/자료
세미나
세미나 목록
About
커뮤니티 발자취
구루비 소개
HOME
[종료]구루비 DB 스터디
2008년 상반기 - 제5차 데이터베이스 스터디
새로쓴 대용량 데이터베이스 솔루션1
3.3. 실행계획의 제어
3.3.1. 힌트(Hint)의 활용 기준
3.3.1. 힌트(Hint)의 활용 기준
(by rnsl)
[2009.05.07]
3.3.1. 힌트(Hint)의 활용 기준
힌트는 우리의 요구를 옵티마이져에게 전달할 수 있는 중요한 수단임
힌트가 탄생한 이유는
최초에는 옵티마이져의 실수를 보완해주기 위해서 였음
이제는 잘못을 잡아주는 용도보다 옵티마이져가 가지고 있지 못하는 정보를 우리가 더많이 알고 있을 때나 우리의 특별한 목적을 관철하고자 할 때 사용하게 됨
옵티마이져는 사용자의 힌트를 참조할 뿐임
다른의미에서는 바둑에서나 장기를 둘때의 '훈수'와 매우 유사하여 도움이된다면 받아들이고 가치가 없다고 생각되면 무시함
힌트가 있다는 것은 곧 그러한 유형의 액세스가 있다는 것을 의미함
새로운 힌트가 태어났다면 새로운 형태의 실행계획이 제공되었다는것이므로 숙지하여 활용해야 할것임
힌트가 다른것으로 대체되었다면 좀 더 나은방법으로 실행계획이 개선 되었음 의미함
힌트가 삭제되었다면 이제 더 이상 그러한 방법의 실행계획이 제공하지 않겠다는 것을 의미하므로 우리가 영향을 받게 되는지에 대해 연구해 볼 필요가 있음
Useful Information
힌트를 숙지하는 것은 중요함
만약 10% 이상의 쿼리에 힌트가 적용되고 잇다면 그원인을 찾아보아야함
옵티마이져 모드 선택이 잘못되었음
인덱스 구성이 전략적이지 못했을 가능이 높음
불필요한 힌트는 액세스 경로의 결정에 악 영향을 미치는 경우도 많음
너무 많은 힌트를 사용하게 되면 인덱스 구성이 변하였을때 애플리케이션을 찾아 일일이 수정해야 할지 모름
더 좋은 실행계획을 자연스럽게 옵티마이져가 찾을수 있음에도 불구하고 힌트로 인해 액세스 경로가 고정됨으로써 웅통성이 크게 저하될수 있음
잘못된 힌트 적용형태의 예제
ordered의 광신도
모든 SQL에 'FIRST-ROWS'라는 힌트를 무조건 삽입해둠
열심히 튜닝을 했다고 자랑하는 어떤 업체는 거의 모든 쿼리에 다양한 힌트가 사용되어 있음
Useful Information
'시행착오법'으로 하는 튜닝이 아닌 자신이 최적의 실행계획을 알고서 그렇게 되도록 유도하기 위해 힌트를 사용해야함
문서에 대하여
최초작성자 :
임주영
최초작성일 : 2008년 3월 20일
이 문서는
오라클클럽
대용량 데이터베이스 스터디
모임에서 작성하였습니다.
이 문서의 내용은 이화식님의 새로쓴 대용량 데이터베이스 솔루션을 참고했습니다.
이 문서를 다른 블로그나 홈페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^\^
HOME
[종료]구루비 DB 스터디
2008년 상반기 - 제5차 데이터베이스 스터디
새로쓴 대용량 데이터베이스 솔루션1
3.3. 실행계획의 제어
3.3.1. 힌트(Hint)의 활용 기준