Увеличит ли добавление индекса к суммированному полю производительность?

#database #mongodb #query-optimization

#База данных #mongodb #оптимизация запросов

Вопрос:

Имеет ли индекс по ключу, который мы суммируем с помощью aggregate, какие-либо преимущества в производительности запросов или нет.

Комментарии:

1. Как выглядит ваш запрос. Возможно, если вы не выберете ничего, кроме суммированного поля, индекс может повысить производительность, потому что MongoDB не должен подготавливать какие-либо данные, только индекс. Однако я не знаю, реализована ли такая функция в MongoDB. Вы проверили план выполнения?

2. Я только что провел несколько тестов. Похоже, что MongoDB использует индексы только для фильтрации, например $match . Я знаю, что другие СУБД (например, Oracle) не считывают никаких данных из таблицы, если индекс содержит все необходимые данные, но MongoDB этого не делает.

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

4. Да, MongoDB может использовать закрытый запрос , когда все необходимые данные доступны из индекса.