Zum Inhalt springen

VACUUM-Anweisung

Die VACUUM-Anweisung hat in DuckDB nur grundlegende Unterstützung und wird vor allem der PostgreSQL-Kompatibilität wegen bereitgestellt.

Einige Varianten, etwa der Aufruf für eine bestimmte Spalte, berechnen die Distinct-Statistiken (die Anzahl unterschiedlicher Entitäten) neu, wenn sie durch Updates veraltet sind.

Warnung Das Verhalten von VACUUM ist nicht mit der PostgreSQL-Semantik konsistent und wird sich voraussichtlich in Zukunft ändern.

Beispiele

No-op:

VACUUM;

No-op:

VACUUM ANALYZE;

Ein Aufruf von VACUUM für ein gegebenes Tabellen-Spalten-Paar baut die Statistiken für Tabelle und Spalte neu auf:

VACUUM my_table(my_column);

Statistiken für Tabelle und Spalte neu aufbauen:

VACUUM ANALYZE my_table(my_column);

Die folgende Operation wird nicht unterstützt:

VACUUM FULL;
Terminal window
Not implemented Error:
Full vacuum option

Vacuum mit Indexes

Warnung Dieses Feature ist experimentell.

Standardmäßig überspringt VACUUM Tabellen mit ART-Indexes. Die Einstellung vacuum_rebuild_indexes ermöglicht es Vacuum, Row Groups auf Tabellen mit Indexes zu verdichten, indem die Indexes anschließend neu aufgebaut werden. Die Einstellung gibt eine Zeilenzahl-Schwelle an: Tabellen über der Schwelle werden übersprungen. Setzen Sie den Wert auf 0, um das Feature zu deaktivieren (Standard).

SET vacuum_rebuild_indexes = 1000000;

Platz freigeben

Die VACUUM-Anweisung gibt keinen Platz frei. Anleitungen zum Freigeben von Platz finden Sie auf der Seite „Platz freigeben“.

Syntax