반응형
기본
// 단일 필드 인덱스
db.users.createIndex({ email: 1 }) // 오름차순
db.users.createIndex({ age: -1 }) // 내림차순
// 복합 인덱스
db.users.createIndex({
"address.city": 1,
age: -1
})
// 고유 인덱스
db.users.createIndex(
{ email: 1 },
{ unique: true }
)
특수 인덱스
// 부분 인덱스
db.users.createIndex(
{ age: 1 },
{ partialFilterExpression: { age: { $gte: 18 } } }
)
// 텍스트 인덱스
db.articles.createIndex({
title: "text",
content: "text"
})
// 지리공간 인덱스
db.places.createIndex({ location: "2dsphere" })
인덱스 관리
// 인덱스 조회
db.users.getIndexes()
// 인덱스 삭제
db.users.dropIndex({ email: 1 })
db.users.dropIndex("email_1")
// 모든 인덱스 삭제 (_id 제외)
db.users.dropIndexes()
쿼리 성능 분석
// 실행 계획 확인
db.users.find({ age: 30 }).explain("executionStats")
// 인덱스 힌트
db.users.find({ age: 30 }).hint({ age: 1 })
반응형
'Database > MongoDB' 카테고리의 다른 글
| MongoDB #6 (VSCode로 MongoDB 사용하기) (1) | 2025.07.28 |
|---|---|
| MongoDB #5 (집계) (0) | 2025.07.28 |
| MongoDB #3 (쿼리 및 필터링) (4) | 2025.07.28 |
| MongoDB #2 (기본 명령어, CRUD) (1) | 2025.07.28 |
| MongoDB #1 (소개) (1) | 2025.07.28 |