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

Документация MongoDB для начинающих

Документация MongoDB для продвинутых пользователей

Ограничения индексов MongoDB

В этой главе мы будем изучать ограничения индексов и их другие компоненты.

Дополнительные издержки

Каждый индекс занимать немного места и вносить издержки при каждом вставке, обновлении и удалении. Поэтому, если вы редко используете набор для чтения операций, лучше не использовать индексы.

Использование RAM

Поскольку индексы хранятся в RAM, следует убедиться, что общий размер индексов не превышает ограничения RAM. Если общий размер увеличился до размера RAM, начнется удаление некоторых индексов, что приведет к снижению производительности.

Ограничения запроса

Индекс не может быть использован для запросов с '-'

  • Регулярные выражения или операторы否定, такие как $nin, $not и т.д.

  • Арифметические операторы, такие как $mod и т.д.

  • Предложение $where

Таким образом, всегда рекомендуется проверять использование индексов в запросах.

Ограничения ключа индекса

С версии 2.6, если значение существующего поля индекса exceeds ограничения ключа индекса, MongoDB не создаст индекс.

Вставка файла exceeds index key limit

Если значение поля индекса этого документа превышает ограничения ключа индекса, MongoDB не вставит документ в集合 индекса. Это также верно для утилит mongorestore и mongoimport.

Максимальный диапазон

  • В одной коллекции не может быть более 64 индексов.

  • Длина имени индекса не должна превышать 125 символов.

  • Максимальное количество полей в составном индексе может составлять до 31.