PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So aktualisieren Sie die Statistikdaten von Tabellen in PostgreSQL manuell

Ich glaube, Sie verwechseln ANALYZE mit EXPLAIN ANALYZE . Es gibt verschiedene Dinge.

Wenn Sie Kosten und Timing abfragen möchten, ohne die Änderungen anzuwenden, besteht die einzige wirkliche Option, die Sie haben, darin, eine Transaktion zu beginnen, indem Sie die Abfrage unter EXPLAIN ANALYZE ausführen , und dann ROLLBACK .

Dies führt immer noch die Abfrage aus, was bedeutet, dass:

  • CPU-Zeit und E/A werden verbraucht
  • Sperren werden weiterhin vorgenommen und für die Dauer gehalten
  • Neue Zeilen werden tatsächlich in die Tabellen und Indizes geschrieben, aber nie als sichtbar markiert. Sie werden im nächsten VACUUM aufgeräumt .