Индекс — это специальная структура данных, которая хранит небольшое, организованное подмножество данных коллекции в формате, который быстро и легко обходить. Обычно он содержит значение определённого поля (или набора полей) вместе со ссылкой на расположение соответствующего документа на диске.
Без индекса MongoDB выполняет сканирование коллекции — то есть читает каждый документ в коллекции, чтобы найти совпадения. Это медленно и требует много ресурсов, особенно при больших объёмах данных.
Когда индекс существует на поле, по которому выполняется запрос, MongoDB может:
Рассмотрим коллекцию с миллионами пользователей. Без индекса этот запрос сканирует всё:
db.users.find({ email: "test@example.com" })
Добавление индекса на поле email резко ускоряет такой поиск:
db.users.createIndex({ email: 1 })
Индексы — это неотъемлемая часть оптимизации запросов в MongoDB. Они позволяют движку базы данных эффективно находить документы, избегая полного сканирования коллекции, что делает их критически важным инструментом для поддержания производительности по мере роста объёма данных.
Индекс в MongoDB хранит полный набор всех документов в коллекции в отсортированном формате, чтобы ускорить выполнение запросов.
Новый — ещё не проверен сообществом
Вы