데이터 조회 시 빠르게 조회속도를 향상 시킬 수 있는 방법은 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 부담 | 적음 | 큼 |