Чем EXPLAIN отличается от EXPLAIN ANALYZE в Postgres-подобной СУБД?

AEXPLAIN выполняет запрос и показывает фактическое время, а EXPLAIN ANALYZE — только план без выполнения.
BEXPLAIN показывает план без выполнения запроса, а EXPLAIN ANALYZE выполняет запрос и добавляет фактические времена/строки.
CОба варианта всегда только строят план и ничего не исполняют.
DОба варианта всегда исполняют запрос, разницы нет.
Правильный ответ. EXPLAIN — план, EXPLAIN ANALYZE — план плюс фактические измерения.

Разбор

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

Проверь себя · 1/3разбор после ответа
Есть индекс по orders.created_at, но EXPLAIN для фильтра WHERE date(created_at) = current_date показывает Seq Scan. Почему это часто происходит?
Тренировать SQL в Telegram

Ещё вопросы по теме «EXPLAIN и оптимизация»