Back to questions
Aston
Junior — Middle
71
Какое отличие между командами EXPLAIN и EXPLAIN ANALYZE в PostgreSQL в контексте анализа запросов?
Companies where asked
КубикТех
Answer from AI
sobes.tech AI
Команда EXPLAIN в PostgreSQL показывает план выполнения SQL-запроса, то есть как СУБД собирается его выполнить: какие индексы использовать, порядок операций, оценки затрат и количества строк. Это статический анализ без фактического выполнения запроса.
Команда EXPLAIN ANALYZE не только выводит план, но и выполняет запрос, собирая реальные статистические данные: сколько времени заняла каждая операция, сколько строк было обработано. Это помогает понять, насколько план соответствует реальному выполнению и выявить узкие места.
Пример:
EXPLAIN SELECT * FROM users WHERE id = 1;
EXPLAIN ANALYZE SELECT * FROM users WHERE id = 1;
Первый покажет план, второй — план плюс реальные затраты и время выполнения.