반응형
Oracle INDEX 힌트 완벽 가이드 (INDEX, FULL, NO_INDEX 실전 예제 포함)
Oracle에서 쿼리 성능을 높이기 위해 사용하는 대표적인 기법이 힌트(Hint)입니다.
그중에서도 INDEX 관련 힌트는 성능 튜닝 시 반드시 알아야 할 요소입니다.
✅ INDEX 힌트 종류
| 힌트 | 설명 |
|---|---|
| INDEX(table_name index_name) | 특정 인덱스를 강제로 사용 |
| FULL(table_name) | 풀 스캔을 강제 |
| NO_INDEX(table_name index_name) | 특정 인덱스 사용하지 않도록 |
📌 기본 사용 예
SELECT /*+ INDEX(EMP EMP_IDX1) */ * FROM EMP WHERE ENAME = 'KING';
✅ 상황별 사용 예
1. INDEX 강제 사용
SELECT /*+ INDEX(DEPT DEPT_IDX1) */ * FROM DEPT WHERE LOC = 'DALLAS';
2. 특정 인덱스 제외
SELECT /*+ NO_INDEX(EMP EMP_IDX1) */ * FROM EMP WHERE JOB = 'CLERK';
3. 풀 스캔 유도
SELECT /*+ FULL(EMP) */ * FROM EMP;
📌 주의사항
- 힌트는 오라클 옵티마이저에게 “요청”이지 강제는 아님
- 쿼리 복잡성/통계 정보에 따라 무시될 수 있음
- 힌트는 유지보수 어려움 유발 → 로그 분석, 튜닝 시에만 제한적으로 활용
✅ 마무리
INDEX 힌트는 실행계획을 튜닝할 때 유용하지만, 정확한 사용 맥락이 필요합니다.
EXPLAIN PLAN과 함께 사용하면서 성능 차이를 직접 확인해보는 것이 중요합니다.
🔔 다음 글 예고
[EXPLAIN PLAN 실행 결과 해석법]
반응형
'웹개발 > Oracle' 카테고리의 다른 글
| Function-Based Index (FBI)란? Oracle 인덱스 최적화 실전 가이드 (0) | 2025.07.01 |
|---|---|
| Oracle에서 WHERE 조건에 인덱스가 안 타는 이유와 해결법 (실전 예제 포함) (0) | 2025.07.01 |