DB(데이타베이스)/MongoDB
MongoDB indexing / MongoDB 인덱싱 1(인덱스 생성)
Tada.*+
2023. 6. 2. 20:18
728x90
인덱스를 사용하지 않는 쿼리를 컬렉션 스캔이라고 한다. 이는 '전체 내용을 살펴봐야 함'을 의미한다. 책에서 index없이 정보를 찾을 때 1쪽부터 끝까지 훑어보며 찾는 것과 같은 방식이다.
인덱스 생성
> db.collection.createIndex({"field명": 1})
{
createdCollectionAutomatically: false,
numIndexesBefore: 1,
numIndexesAfter: 2,
ok: 1
}
* createIndex 후 시간이 오래 걸려 결과 반환이 되지 않을 때 진행 상태를 보는 방법
1. 다른 셸에서 db.currentOp() 실행
2. mongod의 로그를 확인
인덱싱된 field를 삽입, 갱신, 삭제할 때에는 더 오랜 시간이 걸린다. 데이터가 변경될 때마다 모든 인덱스(모든 도큐먼트의 해당 field의 인덱스)를 갱신해야 하기 때문이다.
explain 명령어를 통해 인덱스 생성 전/후 실행 시간 차이 확인
728x90