Метод explain() в MongoDB — это инструмент анализа запросов, который показывает, как база данных выполняет запрос изнутри. Это критически важно для оптимизации производительности и отладки медленных запросов.
Ты можешь добавить explain() к любому запросу и передать режим детализации в качестве аргумента:
db.users.find({ age: { $gt: 25 } }).explain("executionStats")
Доступны три режима детализации:
"queryPlanner" — режим по умолчанию, показывает выбранный план запроса"executionStats" — включает статистику выполнения для победившего плана"allPlansExecution" — показывает статистику для всех рассмотренных планов-кандидатовВывод включает несколько важных метрик:
IXSCAN) или произошло полное сканирование коллекции (COLLSCAN)totalDocsExamined в сравнении с nReturned, помогает выявить неэффективные запросыexecutionTimeMillis показывает, сколько времени занял запросХорошо оптимизированный запрос должен иметь nReturned близко к totalDocsExamined. Большой разрыв между этими значениями указывает на отсутствие или неэффективность индекса, что напрямую влияет на производительность.
Режим многословности queryPlanner метода explain() по умолчанию включает статистику выполнения во время работы для лучшего плана запроса.
Новый — ещё не проверен сообществом
Вы