뭐든 즐기면서 ;)

MongoDB indexing / MongoDB 인덱싱 1(인덱스 생성) 본문

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
Comments