Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про MongoDB: index, performance, query optimization, single field index, compound index

Что такое индексы в MongoDB?

Этот вопрос проверяет понимание индексов в MongoDB и их влияния на производительность запросов.

Короткий ответ

Индексы — это структуры, которые упрощают и ускоряют поиск данных в коллекциях MongoDB. Они позволяют базе данных эффективно находить записи, не сканируя все документы в коллекции.

Длинный ответ

Что такое индексы?

Индексы — это специальные структуры данных, которые хранят значения одного или нескольких полей коллекции в отсортированном виде. Они работают как указатели для быстрого поиска нужных документов.

Типы индексов в MongoDB:

  • Одиночный индекс (Single Field Index):
    Индекс по одному полю, например:

    db.collection.createIndex({ field: 1 }); // Индекс по возрастанию
  • Составной индекс (Compound Index):
    Индекс по нескольким полям:

    db.collection.createIndex({ field1: 1, field2: -1 });
  • Уникальный индекс (Unique Index):
    Гарантирует, что значения поля будут уникальными.

  • Текстовый индекс (Text Index):
    Для поиска текста:

    db.collection.createIndex({ field: "text" });
  • Геопространственный индекс (Geospatial Index):
    Для работы с геоданными.

Преимущества индексов:

  • Ускоряют поиск данных.

  • Снижают нагрузку на сервер при выполнении сложных запросов.

Недостатки индексов:

  • Увеличивают использование памяти.

  • Замедляют операции записи (вставка, обновление, удаление).

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

db.users.find({ age: 30 }); // Медленно без индекса

С индексом по полю age запрос будет быстрым:

db.users.createIndex({ age: 1 }); // Создаем индекс

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

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • MongoDB

    MongoDB

Ключевые слова

#index

#performance

#query optimization

#single field index

#compound index

Подпишись на Python Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.