Sobes.tech
Junior — Middle
105

Care este diferența dintre comenzile EXPLAIN și EXPLAIN ANALYZE în PostgreSQL în contextul analizei interogărilor?

Companiile au fost întrebate
КубикТех
AstonAston

Răspuns de la AI

sobes.tech AI

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

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

Пример:

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

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