В чём отличие EXPLAIN от EXPLAIN ANALYZE в PostgreSQL?

EXPLAIN показывает оценённый план без выполнения запроса, а EXPLAIN ANALYZE действительно выполняет его и добавляет фактические измерения. Это особенно важно для изменяющих запросов.

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

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

EXPLAIN показывает оценённый план без выполнения запроса, а EXPLAIN ANALYZE действительно выполняет его и добавляет фактические измерения. Это особенно важно для изменяющих запросов.

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

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

EXPLAIN показывает оценённый план без выполнения запроса, а EXPLAIN ANALYZE действительно выполняет его и добавляет фактические измерения. Это особенно важно для изменяющих запросов.

В обычном плане видны выбранные операции, оценка стоимости и числа строк; стоимость не выражена прямо в миллисекундах. ANALYZE добавляет фактическое время, строки и loops, помогая найти ошибки оценки. BUFFERS показывает работу с буферами. Для INSERT/UPDATE/DELETE запрос действительно изменяет данные; обёртка в rollback не отменяет абсолютно все внешние эффекты и, например, продвижение sequences. На production учитывают нагрузку и выбирают безопасный сценарий диагностики.

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

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

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

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

Подробнее