Covering Index

코드몽키 ㅋㄷㅁㅋ·2025년 5월 1일
0

StepByStepSQL

목록 보기
4/4
post-thumbnail

데이터 조회 시 빠르게 조회속도를 향상 시킬 수 있는 방법은 Covering Index 가 있어요

Covering Index ?

설정된 열에서 Where의 주소를 먼저 취합 후 테이블에서 해당 주소들을 바탕으로 행을 찾아내는 보통의 Index 방법과 다르게 취합 시 주소와 함께 Include 된 행을 저장하는 방법 으로 I/O의 횟수를 줄 일 수 있다.



SELECT 
		Name, AGE
FROM 	
		HELTHCHECK
WHERE 
		CONDITION = 'GOOD'

Normal

"조건절 CONDITION = 'GOOD'의 주소를 취합" // 1st I/O
"취합 된 주소를 기반으로 해당 행을 찾아 데이터를 반환" //2nd I/O

Covering

"조건절 CONDITION = 'GOOD'의 주소 + Include 열 데이터 취합 후 저장 반환" // 1st I/O

📌 구분일반 인덱스커버링 인덱스
SELECT 컬럼 포함 여부아니요
테이블 접근 필요있음없음
쿼리 속도보통빠름
인덱스 크기작음큼 (포함 컬럼 많을수록)
INSERT/UPDATE 부담적음

❗ 커버링 인덱스는 조회 할 때 좋은 성능을 보여주지만 INSERT, UPDATE 할 때에는 인덱스에 계속 업데이트 되기 때문에 해당 DML 에서는 성능 저하가 발생 할 수 있음을 알립니다

0개의 댓글