인덱싱

최대 1 분 소요

이번에는 몽고디비에 인덱싱을 어떻게 해야 하는지 알아보도록 하자

그 전에 오래전의 기억을 다시 각인시킬겸 인덱싱에 대해 알아보도록 하자.

인덱싱

데이터베이스에서 인덱스는 테이블에 대한 retrieving 속도를 높여주는 자료 구조를 일컫는다. 쉽게 인덱싱을 사용한다면 어느 테이블(콜렉션)에서 자료를 하나하나 찾아보지 않고도 인덱스를 살펴보면 빠르게 알수 있다는 의미.

하지만 인덱스를 위해서는 추가적인 메모리 공간을 사용해야 하며, 인덱스에 변화가 발생한다면 인덱스들은 정렬된 상태를 유지해야 하기에 다시 정렬을 해야 한다.

따라서 인덱스를 남용하는것은 오히려 성능을 저하시키는 결과를 초래할 수도 있다.

이런 인덱싱은 어떠한 책 뒤에 있는 index를 생각하면 이해하기 쉽다. 어떤 페이지에 가야 해당 내용이 있는지 정리해둔것을 기억해 보자.

참고 - 위키피디아

Indexing in mongoDB

몽고디비에서 인덱싱을 사용하기 위해서는 당연히 인덱스를 생성해야 한다.

# 당연히 JSON 타입으로 프로퍼티를 선언해야 한다.
# sort에서 오름차순, 내림차순을 어떻게 명시했는지 기억해 보자. 인덱스는 정렬이 필수다.
$ db.<collection name>.createIndex({ <property name>: 1 || -1})

그런다음 sort등지에서 기준을 작성해둔 프로퍼티 이름으로 하면 된다.

댓글남기기