eatthefrog
MongoDB Compass indexes 본문

인덱스란?
검색 속도를 빠르게 하기 위한 정렬된 목차 같은 것으로 참조와는 별개다.

실제 사용 시나리오
// 개발자: 샘플 데이터 중에서 (여성, 30세, 멤버십 active) 리스트를 검색해줘
db.smaple.find({
gender: "woman"
age: 30
memebrship_status: "ACTIVE"
})
선택 옵션이 적은 순서로 배치하면 검색이 가장 효율적이다.!
성별 -> 나이 -> memership_status
- 성별은 2개
- 나이는 100이하
- 멤버십 상태는 제한적 (5개 이하)
개선된 복합 인덱스 : 성별 -> memebrship_status -> 나이
인덱스 사용 팁
복합 인덱스의 경우, 쿼리 할 때 왼쪽 필드부터 순서대로 사용해야 효율적이다. 예를 들어 예를 들어 gender만 쿼리하거나 gneder + age로 쿼리하면 이 인덱스를 활용할 수 있지만, membership_status만 단독으로 쿼리하면 인덱스를 제대로 활용할 수 없다.
왜냐하면 인덱스는 왼쪽부터 순서대로 책의 목차쳐럼 동작하기 때문에, 중간 필드나 마지막 필들드를 사용하여 쿼리(검색)하면 전체 스캔을 하게때문에 검색 속도가 느려진다.
'백엔드 노트' 카테고리의 다른 글
| 몽고DB) DOCUMEMNT DATABASE (0) | 2025.11.18 |
|---|---|
| GraphQL 타입 불일치 문제를 사전에 방지하는 방법 (0) | 2025.11.16 |
| CI/CD 개발 프로세스 (0) | 2025.06.24 |
| GraphQL 핵심 요약 (2) | 2025.06.18 |
| GraphQL: A query language for your API 공식문서 읽기 (2) | 2025.06.18 |