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

Как работает EXPLAIN и в чём разница между EXPLAIN и EXPLAIN ANALYZE?

Компании, где спрашивали
Ecom.tech

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

sobes.tech AI

EXPLAIN — это команда в SQL, которая показывает план выполнения запроса, то есть как СУБД собирается его обработать: какие индексы использовать, в каком порядке читать таблицы, какие операции выполнять. Это помогает понять, почему запрос может работать медленно.

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

Пример в PostgreSQL:

EXPLAIN SELECT * FROM orders WHERE customer_id = 123;
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;

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