Sobes.tech
Junior — Middle
103

Was ist der Unterschied zwischen den Befehlen EXPLAIN und EXPLAIN ANALYZE in PostgreSQL im Kontext der Abfrageanalyse?

Unternehmen wurden gefragt
КубикТех
AstonAston

Antwort von AI

sobes.tech KI

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

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

Пример:

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

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