Назад к вопросам
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;
Первый покажет план, второй — план плюс реальные данные о выполнении.