Sobes.tech
Назад к вопросам
Senior
16

В чём разница между EXPLAIN и EXPLAIN ANALYZE?

Компании, где спрашивали
Магнит Тех

Ответ от нейросети

sobes.tech AI

EXPLAIN показывает план выполнения SQL-запроса, то есть как база данных собирается его выполнить — какие индексы использовать, порядок операций, методы соединения таблиц и т.д. Это статический анализ, который помогает понять, как оптимизатор запросов видит выполнение.

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

Пример в PostgreSQL:

EXPLAIN SELECT * FROM users WHERE id = 10;
EXPLAIN ANALYZE SELECT * FROM users WHERE id = 10;

Первый покажет план, второй — план плюс реальные данные о выполнении.