Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

MongoDB покрытия запросов индекс

Официальное описание документа MongoDB, охватывающий следующий запрос является запросом:

  • Все поля запроса являются частью индекса
  • Все поля в том же запросе, возвращает индекс

Так как все появляются в поле запроса является частью индекса, файлов данных MongoDB без необходимости извлекая все условия соответствия запроса и возврата результатов запроса, используя один и тот же индекс.

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


Используйте индекс покрытия запроса

Для проверки индекса колпачок запроса, используйте следующий набор пользователей:

{
   "_id": ObjectId("53402597d852426020000002"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "gender": "M",
   "name": "Tom Benzamin",
   "user_name": "tombenzamin"
}

Мы создаем совместную коллекцию пользователей индекса, поле пол и user_name:

>db.users.ensureIndex({gender:1,user_name:1})

Теперь, индекс будет охватывать следующий запрос:

>db.users.find({gender:"M"},{user_name:1,_id:0})

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

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

Следующие примеры не исключены _id, запрос не будет рассматриваться:

>db.users.find({gender:"M"},{user_name:1})

Наконец, если следующий запрос, запрос не может использовать индекс покрытия:

  • Все поле индекса является массивом
  • Все поля подиндекс является документом,