Index Unique Scan은 고유한(UNIQUE) 인덱스나 Primary Key(PK) 인덱스를 이용하여 단 하나의 값을 빠르게 조회할 때 사용되는 인덱스 스캔 방식입니다. 참고로 오라클에서 Primary Key(PK) 인덱스는 테이블 생성 시 자동으로 만들어집니다.
✔ 항상 하나의 결과(또는 존재하지 않음)를 반환
✔ 고유한 값(UNIQUE, PRIMARY KEY) 조건일 때만 작동
✔ 가장 빠른 인덱스 검색 방법 중 하나
✔ B-Tree 인덱스에서 루트 → 리프 노드까지 최단 경로 탐색
WHERE 조건이 고유 인덱스(UNIQUE INDEX) 또는 PRIMARY KEY를 완전하게 지정한 경우.✅ EMP_ID가 PRIMARY KEY 또는 UNIQUE INDEX로 설정된 경우
SELECT * FROM EMP WHERE EMP_ID = 1001; 🔍 실행 계획 (EXPLAIN PLAN)
INDEX UNIQUE SCAN (EMP_PK) ✔ EMP_ID는 PK(Primary Key)이므로 Index Unique Scan 발생
✅ (DEPT_ID, EMP_ID) 복합 인덱스에서 완전한 키 검색
SELECT * FROM EMP WHERE DEPT_ID = 10 AND EMP_ID = 1001; 🔍 실행 계획:
INDEX UNIQUE SCAN (EMP_DEPT_IDX) ✔ 두 개의 키 컬럼을 모두 지정했기 때문에 Index Unique Scan 발생
✅ INDEX 힌트를 사용하여 인덱스 사용을 강제할 수 있음
SELECT /*+ INDEX(EMP EMP_PK) */ * FROM EMP WHERE EMP_ID = 1001; 🔍 실행 계획:
INDEX UNIQUE SCAN (EMP_PK) ✔ 옵티마이저가 다른 실행 계획을 선택하지 않도록 강제 인덱스 힌트 추가
❌ 부분 키 검색
SELECT * FROM EMP WHERE EMP_ID > 1000; 🔍 실행 계획:
INDEX RANGE SCAN (EMP_PK) ✔ 범위 검색이므로 Index Range Scan 발생
❌ 복합 인덱스에서 일부 키만 검색
SELECT * FROM EMP WHERE EMP_ID = 1001; (단, EMP_DEPT_IDX(DEPT_ID, EMP_ID)가 있을 때) 🔍 실행 계획:
INDEX SKIP SCAN (EMP_DEPT_IDX) ✔ 복합 인덱스에서 선행 컬럼(DEPT_ID)이 없으므로 Index Skip Scan 발생
| 스캔 유형 | 설명 | 사용 조건 |
|---|---|---|
| Index Unique Scan | PK, UNIQUE 인덱스에서 단일 값 검색 | WHERE 컬럼 = 값 |
| Index Range Scan | 범위 검색 (BETWEEN, <, >) | WHERE 컬럼 > 값 |
| Index Full Scan | 인덱스 전체 검색 | 정렬이 필요하거나 인덱스 자체만 읽을 때 |
| Index Fast Full Scan | 멀티 블록 읽기 사용 | 인덱스 전체를 빠르게 읽을 때 |
| Index Skip Scan | 복합 인덱스의 일부 키만 사용 | 선행 컬럼 없이 후행 컬럼을 검색할 때 |
🔹 Primary Key와 Unique Index는 Index Unique Scan을 자동으로 사용
🔹 WHERE 조건에서 인덱스의 모든 키 컬럼을 포함하면 Index Unique Scan 가능
🔹 불필요한 범위 검색을 피하고 단일 조회를 유도하면 성능 최적화 가능
✅ Index Unique Scan은 가장 빠른 인덱스 검색 방식이며, UNIQUE 또는 PRIMARY KEY를 통한 단일 행 조회에서 발생합니다.
✅ 완전한 키 값을 검색하는 경우에만 작동하며, 범위 검색(BETWEEN, <, >) 또는 일부 키 검색은 Index Range Scan으로 변경됩니다.
✅ INDEX(TABLE_NAME INDEX_NAME) 힌트를 사용하여 강제 적용 가능하며, 옵티마이저가 다른 실행 계획을 선택하는 것을 방지할 수 있습니다. 🚀
유튜브에 AI 자동 생성 영상이 넘쳐납니다. 진짜 크리에이터들은 어떻게 살아남아야 할까요? AI와 경쟁하는 3가지 생존…
이틀 전에 사이드카가 걸렸을 때만 해도 "한 번 놀란 장"으로 끝날 줄 알았는데요. 15일 아침…
오전 시황 글에 이어 장중 후속 정리입니다. 코스피는 개장 직후 5%대였던 낙폭이 오전 10시 전후에…
10월 15일 목요일 아침, 코스피가 전날 종가보다 5.59% 낮은 5,673.01로 출발했습니다. 장 시작 7분 만에…
삼성 갤럭시 AI, 써보니 실망스러웠다. 온디바이스 한계, 지역 제한, 낮은 일상 활용도 등 현실적인 문제점…