Ответ
Да, EXPLAIN ANALYZE работает и для UPDATE запросов в PostgreSQL. Он показывает план выполнения и реальные метрики (время, количество строк) для операций обновления.
Пример:
EXPLAIN ANALYZE
UPDATE users SET status = 'active' WHERE last_login > NOW() - INTERVAL '30 days';
Вывод покажет:
- Сканирование таблицы/индекса
- Фильтрацию строк
- Время выполнения
- Количество обработанных строк
Особенности:
- Для больших таблиц может быть дорогим, так как фактически выполняет UPDATE
- Показывает стоимость операций до и после обновления
- Может помочь найти проблемы с индексами или дорогими триггерами
Лучше выполнять на тестовой базе или с BEGIN; ROLLBACK; в транзакции.