기록이 힘이다.

[면접을 위한 CS 전공지식 노트] 인덱스 최적화 기법 본문

IT서적

[면접을 위한 CS 전공지식 노트] 인덱스 최적화 기법

dev22 2023. 3. 6. 15:49
728x90

mongoDB를 기반으로(다른 데이터베이스에서도 적용이 가능하다)

 

1. 인덱스는 비용이다.

인덱스는 두 번 탐색하도록 강요합니다. 인덱스 리스트, 그다음 컬렉션 순으로 탐색하기 때문이며, 관련 읽기 비용이 들게 됩니다. 

 

그렇기 때문에 쿼리에 있는 필드에 인덱스를 무작정 다 설정하는 것은 답이 아닙니다.

 

2. 항상 테스팅하라

인덱스 최적화 기법은 서비스 특징에 따라 달라집니다. 서비스에서 사용하는 객체의 깊이, 테이블의 양 등이 다르기 때문이죠. 그렇기 때문에 항상 테스팅하는 것이 중요합니다. 

 

3. 복합 인덱스는 같음, 정렬, 다중 값, 카디널리티 순이다

보통 여러 필드를 기반으로 조회를 할 때 복합 인덱스를 생성하는데, 이 인덱스를 생성할 때는 순서가 있고 생성 순서에 따라 인덱스 성능이 달라집니다. 같음, 정렬, 다중 값, 카디널리티 순으로 생성해야 합니다.