Sobes.tech
Back to questions
Senior
4

Чем EXPLAIN отличается от EXPLAIN ANALYZE?

Companies where asked
purrweb

Answer from AI

sobes.tech AI

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

  • EXPLAIN показывает план выполнения запроса, то есть как СУБД собирается его выполнить (например, какие индексы использовать, порядок операций, методы соединения таблиц). Это статический анализ без фактического выполнения запроса.

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

Пример в PostgreSQL:

EXPLAIN SELECT * FROM users WHERE age > 30;
EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30;

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