Как узнать, какие запросы используют индекс в MongoDB? - PullRequest
2 голосов
/ 21 сентября 2019

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

Как узнать, какие запросы используют индекс?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2019

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

Grep "COLLSCAN" из журналов, и вы получите идею.Если используются индексы, тогда план запроса показывает «IXSCAN».Если он должен сканировать коллекцию, то он показывает «COLLSCAN».Я нашел несколько медленных запросов таким образом.Другим признаком того, что запросы не используют индексы должным образом, является постоянная высокая загрузка ЦП на сервере базы данных.

0 голосов
/ 21 сентября 2019

Вы можете выполнить свой запрос с помощью .explain () , чтобы узнать, какой индекс используется в этом конкретном запросе.

Например.с .find() вы можете использовать .explain() следующим образом:

db.collection.find().explain()

Для получения дополнительной информации читайте MongoDB Объясните

Редактировать: Проверить индекс, используемый в журналах

Чтобы проверить, какие индексы используются в конкретном запросе, вы можете включить журналы уровня индекса в конфигурации mongodb.

Из официальных документов

INDEX

Сообщения, связанные с операциями индексации, такими как создание индексов.Чтобы указать уровень журнала для компонентов INDEX, задайте параметр systemLog.component.index.verbosity.

Включите параметр systemLog.component.index.verbosity, чтобы включить журналы индекса.

Из документов:

systemLog.component.index.verbosity Тип: целое число

По умолчанию: 0

Новое в версии 3.0.

Theуровень детализации сообщения журнала для компонентов, связанных с операциями индексации.См. Компоненты INDEX.

Уровень детализации может варьироваться от 0 до 5:

0 - уровень детализации журнала MongoDB по умолчанию, включающий информационные сообщения.От 1 до 5 увеличивает уровень детализации для включения сообщений отладки.

Чтение Параметры конфигурации MongoDB - Подробность индекса для получения дополнительной информации.

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