반응형
기본적으로 옵티마이저가 SQL을 수행할 때 인덱스를 통계정보를 이용하여 선택하지만 그것은 정확한 것이 아니라 자신이 알고 있는 수준까지 정보를 가지고 판단하기에 정확한 인덱스를 사용자가 선택하여 수행할 수 있다.
그 방법으로 쿼리 수행시 힌트를 부여하는 것이다.
힌트를 부여하는 방법은 다음과같다.
1 | select /*+ 인덱스명(t) */ * from t where deptno = 10 and no = 1; | cs |
- /*+ 인덱스 */를 사용하여 힌트를 부여한다.
- 인덱스명을 여러개 나열하고 싶을때는 공백으로 구분하여 나열한다. ,를 사용하는 경우 앞에 인덱스만 사용된다.
- 인덱스 내부에 테이블을 적을때 스키마명까지 입력하면 안된다. index(scott.tmp)
- From 절에 Alias를 사용했다면 힌트에도 Alias를 사용해야 한다.
- 특정 테이블만 Alias를 줄 수 있다.
1 | select /*+ INDEX(e empno) */ e.ENAME, d.DNAME from emp e, dept d; | cs |
반응형
'데이터베이스 > 친절한 SQL 튜닝' 카테고리의 다른 글
시퀀셜 액세스와 랜덤 액세스 (0) | 2018.06.28 |
---|---|
데이터 저장 구조 및 I/O 메커니즘 (0) | 2018.06.19 |
바인드 변수를 이용한 오라클 SQL 튜닝 소개 (0) | 2018.06.19 |
오라클 옵티마이저의 소프트파싱(soft parsing)와 하드파싱(hard parsing) (0) | 2018.06.18 |
SQL 최적화 과정과 옵티마이저 소개 및 역할안내 (0) | 2018.06.18 |