Что такое план запросов? Зачем они нужны?

План запроса — дерево операций, выбранных СУБД для получения результата: сканирования, соединения, сортировки и агрегаты. Он помогает найти дорогой этап и неверные оценки.

Короткий ответ

Что ответить на собеседовании

План запроса — дерево операций, выбранных СУБД для получения результата: сканирования, соединения, сортировки и агрегаты. Он помогает найти дорогой этап и неверные оценки.

Подробный разбор

Ответ с пояснениями

План запроса — дерево операций, выбранных СУБД для получения результата: сканирования, соединения, сортировки и агрегаты. Он помогает найти дорогой этап и неверные оценки.

EXPLAIN показывает предполагаемый план и стоимость, а EXPLAIN ANALYZE выполняет запрос и добавляет фактические строки, время и число повторов. В PostgreSQL BUFFERS помогает увидеть обращения к буферам и чтение.

Сравнивайте estimated и actual rows, проверяйте большие loops, сортировки на диске и лишние чтения. Стоимость плана не равна миллисекундам. ANALYZE действительно исполняет запрос, поэтому диагностировать изменяющие данные команды таким способом нужно только в безопасном окружении.

Источник: www.postgresql.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее