MongoDB - объяснение.executionStats - PullRequest
0 голосов
/ 29 июня 2019

Есть ли в выводе объяснения MongoDB ("executeStats") какие-либо элементы, которые дают представление или подсказку о том, использует ли запрос заданный индекс для фильтрации или сортировки, или для обоих?

IПрочитайте следующие URL

Составные индексы Mongodb для фильтрации и сортировки в БОЛЬШОЙ коллекции [указывает на нижеприведенный URL и имеет краткое обсуждение]

https://emptysqua.re/blog/optimizing-mongodb-compound-indexes/ [этоодин дает общее представление, но в выводе объяснения используются более старые форматы / элементы, которых нет в Mongodb 4.0, который я использую]

https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/ [документы, как определить префиксы индекса и использовать индексные рычаги, но показывает вывод объяснения, подтверждающий использование]

1 Ответ

0 голосов
/ 29 июня 2019

Из MongoDB Документы :

Если MongoDB может использовать сканирование индекса для получения запрошенного порядка сортировки, результат не будет включать этап сортировки. В противном случае, если MongoDB не может используйте индекс для сортировки, результат объяснения будет включать этап SORT.

Пример:

Посмотрите на образцы данных из коллекции сорта. enter image description here

Объяснить план запроса без индекса: enter image description here

Создать указатель для коллекции:

enter image description here

Запустите тот же запрос и проверьте этап SORT в плане объяснения: enter image description here

...