| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- elasticsearch
- 자바스크립트
- Spring Boot
- Git
- boot
- kibana
- 이펙티브
- 후기
- 알고리즘
- java
- javascript
- Web
- node
- RCP
- 독후감
- effective
- 맛집
- java8
- 인터페이스
- 백준
- 리뷰
- JPA
- 자바
- Spring
- jface
- 엘라스틱서치
- 스프링
- error
- MySQL
- nodejs
Archives
- Today
- Total
wedul
옵티마이저에게 사용할 인덱스(index) 힌트주기 본문
반응형
기본적으로 옵티마이저가 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 |