EXPLAIN показывает план запроса с оценками планировщика – без выполнения.
EXPLAIN ANALYZE дополнительно реально выполняет запрос и выводит фактические данные: время по узлам, число строк (actual против estimated) и количество проходов.
Зачем это нужно
Расхождение оценки и факта – главный признак проблемы. Если планировщик ждёт 10 строк, а приходит 100 000, значит статистика устарела или нужен другой индекс.
Важно
Запрос выполняется по-настоящему. Для INSERT/UPDATE/DELETE оборачивайте в транзакцию с откатом:
BEGIN; EXPLAIN ANALYZE UPDATE ...; ROLLBACK;