English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MongoDB 인덱스 제한

이 장에서는 인덱스 제한 및 다른 구성 요소를 배울 것입니다.

추가 비용

각 인덱스는 일정한 공간을 차지하고, 삽입, 업데이트 및 삭제할 때마다 비용이 발생합니다. 따라서 집합을 읽기 작업에 사용하는 횟수가 적다면, 인덱스를 사용하지 않는 것이 좋습니다.

RAM 사용

인덱스는 RAM에 저장되므로, 인덱스 총 크기가 RAM 제한을 초과하지 않도록 해야 합니다. 총 크기가 RAM 크기보다 커지면, 성능 하락을 유발하기 위해 일부 인덱스를 제거하기 시작합니다.

쿼리 제한

인덱스는 사용할 수 없습니다-

  • 정규 표현식이나 부정 연산자, 예를 들어 $nin, $not와 같은 것들.

  • 수학 연산자, 예를 들어 $mod와 같은 것들.

  • $where 문

따라서, 항상 쿼리의 인덱스 사용을 확인하는 것이 좋습니다.

인덱스 키 제한

부터2.6버전부터, 기존 인덱스 필드 값이 인덱스 키 제한을 초과하면 MongoDB는 인덱스를 생성하지 않습니다.

인덱스 키 제한을 초과하는 파일 삽입

이 문서의 인덱스 필드 값이 인덱스 키 제한을 초과하면, MongoDB는 인덱스 셋에서 어떤 문서도 삽입하지 않습니다. mongorestore와 mongoimport 도구도 마찬가지입니다.

최대 범위

  • 최대64인덱스.

  • 인덱스 이름의 길이는125문자.

  • 최대31필드가 인덱스됨.