Индекс MongoDB
Без индексов MongoDB пришлось бы сканировать каждый файл в коллекции и выбирать записи, соответствующие критериям запроса при чтении данных.
Такая эффективность сканирования всего набора очень низкая, особенно при обработке большого объёма данных, запрос может занимать десятки секунд или даже минуты, что очень негативно сказывается на производительности сайта.
Индексы — это специальные структуры данных, хранящиеся в наборе данных, которые легко читаются по индексу, а индексы — это структура, сортирующая значения одного или нескольких столбцов в таблице базы данных.
Обзор:
Запрос к плану исполнения
Примеры операторов:
Без создания индекса (winningPlan:COLLSCAN), как показано на рисунке ниже:
Функция explain() также может получать разные параметры, и вы можете видеть более подробный план запроса, устанавливая разные параметры.
Параметры включают:queryPlanner (по умолчанию)、executionStats、allPlansExecution
Выполните explain ("executionStats"), и вы обнаружите, что в плане выполнения будет больше статистики.
| параметр | значение | | totalКлючиИзучено | Количество индексных сканов | | totalDocsОсмотренные | Количество сканирований документов | | nВернулся | Количество возвращенных результатов | | ИсполнениеВремяМиллис | Выполнение занимает много времени | | ИсполнениеУспех | Была ли казнь успешной |
Создайте индекс
MongoDB использует метод createIndex() для создания индексов.
Обратите внимание, что до версии 3.0.0 метод создания индекса назывался db.collection.ensureIndex(), а в более поздних версиях использовался метод db.collection.createIndex().
Создайте единый индекс
Создайте составный индекс
В синтаксисе ключевое значение — это индексное поле, которое вы хотите создать, 1 задаётся для создания индекса в порядке возрастания, а если вы хотите создать индекс в убывающем порядке, можно указать -1.фон, чтобы указать, что индексы создаются в фоне., то есть добавить «фоновый» необязательный параметр. «Фон» по умолчанию ложится.
Индексы запросов
Команда следующая:
Удалить индекс
Удалить все индексы
Удалить указанный индекс
(Конец)
|