Sobes.tech
Junior — Middle
85

Какое отличие между командами EXPLAIN и EXPLAIN ANALYZE в PostgreSQL в контексте анализа запросов?

Компании, где спрашивали
КубикТех
AstonAston

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

sobes.tech AI

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

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

Пример:

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

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