Jag tror att du förvirrar ANALYZE
med EXPLAIN ANALYZE
. Det finns olika saker.
Om du vill ha frågekostnader och timing utan att tillämpa ändringarna, är det enda verkliga alternativet du har att påbörja en transaktion, exekvera frågan under EXPLAIN ANALYZE
, och sedan ROLLBACK
.
Detta kör fortfarande frågan, vilket betyder att:
- CPU-tid och I/O förbrukas
- Lås är fortfarande tagna och hålls kvar så länge
- Nya rader skrivs faktiskt till tabellerna och indexen, men markeras aldrig som synliga. De rensas upp i nästa
VACUUM
.