Sobes.tech
Junior — Middle

Qual è la differenza tra i comandi EXPLAIN e EXPLAIN ANALYZE in PostgreSQL nel contesto dell'analisi delle query?

sobes.tech AI

Risposta dell'AI

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

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

Пример:

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

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