이 페이지에서는 MongoDB에서 만들 수 있는 인덱스 유형에 대해 설명합니다. 인덱스 유형에 따라 서로 다른 유형의 데이터와 쿼리를 지원합니다.
단일 필드 인덱스
단일 필드 인덱스는 컬렉션의 각 문서에 있는 단일 필드에서 데이터를 수집하고 정렬합니다.
이 이미지는 단일 필드 score에 대한 인덱스를 보여줍니다.
자세한 내용은 단일 필드 인덱스를 참조하세요.
복합 인덱스
복합 인덱스는 컬렉션 내 각 문서의 여러 필드 값을 수집해 정렬합니다. 복합 인덱스를 사용하여 인덱스의 첫 번째 필드 또는 접두 필드까지 쿼리할 수 있습니다. 복합 인덱스에서 필드의 순서는 매우 중요합니다. 복합 인덱스로 생성된 B-트리는 인덱스에서 지정한 필드 순서대로 정렬된 데이터를 저장합니다.
예를 들어, 아래 이미지는 문서가 먼저 userid를 기준으로 오름차순(알파벳순)으로 정렬되는 복합 인덱스를 보여줍니다 그런 다음 각 userid에 해당하는 scores가 내림차순으로 정렬됩니다.
자세한 내용은 복합 인덱스를 참조하세요.
Multikey Index
멀티키 인덱스는 배열에 저장된 데이터를 수집하고 정렬합니다.
멀티키 유형을 명시적으로 지정할 필요가 없습니다. 배열 값이 포함된 필드에 인덱스를 생성하면 MongoDB는 자동으로 해당 인덱스를 멀티키 인덱스로 설정합니다.
이 이미지는 addr.zip 필드의 멀티키 인덱스를 보여줍니다.
자세한 내용은 멀티키 인덱스를 참조하세요.
지리 공간적 인덱스
지리 공간적 인덱스는 지리공간 좌표 데이터에 대한 쿼리 성능을 개선합니다. 자세한 내용은 지리공간적 인덱스를 참조하세요.
MongoDB는 다음과 같이 두 가지 유형의 지리 공간적 인덱스를 제공합니다.
평면 기하학을 사용하여 결과를 반환하는 2D 인덱스 입니다.
구형 기하학을 사용하여 결과를 반환하는 2dsphere 인덱스입니다.
Text Index
텍스트 인덱스는 문자열 콘텐츠가 포함된 필드에 대한 텍스트 검색 쿼리를 지원합니다.
자세한 내용은 자체 관리형 배포의 텍스트 인덱스를 참조하세요.
참고
MongoDB 검색 또는 벡터 검색 사용
MongoDB 다음과 같은 텍스트 검색 솔루션도 제공합니다.
MongoDB Search 는 온프레미스 텍스트 검색에 비해 향상된 성능과 기능을 제공합니다.
벡터 검색 은 시맨틱, 하이브리드 및 생성 검색 수행할 수 있는 벡터 검색 기능을 제공합니다.
해시 인덱스
해시 인덱스는 해시된 샤딩을 지원합니다. 해시 인덱스는 필드 값의 해시를 인덱싱합니다.
자세한 내용은 해시된 인덱스를 참조하세요.
클러스터된 인덱스
버전 5.3에 추가.
클러스터형 인덱스는 클러스터형 컬렉션이 데이터를 저장하는 순서를 지정합니다. 클러스터형 인덱스를 사용하여 만든 컬렉션을 클러스터형 인덱스라고 합니다.
클러스터된 인덱스를 사용하여 컬렉션을 만드는 방법을 알아보려면 클러스터된 컬렉션 예시를 참조하세요.