Проверьте реальные строки и повторения узлов, методы сканирования и соединения, сортировки, временные файлы и buffers. Главная цель — найти, где план выполняет лишнюю работу.
Понимаю, что сложно ответить сразу. Можете, пожалуйста, описать, какие ключевые элементы плана выполнения вы обычно анализируете в PostgreSQL?
Проверьте реальные строки и повторения узлов, методы сканирования и соединения, сортировки, временные файлы и buffers. Главная цель — найти, где план выполняет лишнюю работу.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Проверьте реальные строки и повторения узлов, методы сканирования и соединения, сортировки, временные файлы и buffers. Главная цель — найти, где план выполняет лишнюю работу.
Сравните оценки планировщика с фактом: большое расхождение часто указывает на статистику или зависимость признаков. Nested Loop с малым внешним набором нормален, а с огромным числом повторных чтений может быть дорогим. Seq Scan также не ошибка сам по себе. После изменения индекса или запроса повторно измерьте тот же сценарий, а не только снижение estimated cost.