Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

VACUUM

Fokusmodus
VACUUM - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Sortiert Zeilen neu und gewinnt Platz in einer bestimmten Tabelle oder in allen Tabellen der aktuellen Datenbank zurück.

Anmerkung

Nur Benutzer mit den erforderlichen Tabellenberechtigungen können eine Tabelle effektiv bereinigen. Wenn VACUUM ohne die notwendigen Tabellenberechtigungen ausgeführt, wird die Operation zwar erfolgreich abgeschlossen, hat jedoch keine Wirkung. Eine Liste der gültigen Tabellenberechtigungen zum effektiven Ausführen von VACUUM finden Sie im folgenden Abschnitt zu erforderlichen Berechtigungen..

Amazon Redshift sortiert im Hintergrund automatisch die Daten und führt VACUUM DELETE aus. Dadurch entfällt die Notwendigkeit, den Befehl VACUUM auszuführen. Weitere Informationen finden Sie unter Bereinigen von Tabellen.

Standardmäßig überspringt VACUUM die Sortierungsphase für alle Tabellen, in denen mehr als 95 Prozent der Tabellenzeilen bereits sortiert sind. Das Überspringen der Sortierungsphase kann die Leistung von VACUUM deutlich verbessern. Um den Standardschwellenwert für die Sortierung oder Löschung für eine einzelne Tabelle zu ändern, verwenden Sie den Tabellennamen und den Parameter TO threshold PERCENT, wenn Sie VACUUM ausführen.

Benutzer können auf Tabellen zugreifen, während sie bereinigt werden. Sie können Abfragen und Schreiboperationen ausführen, während eine Tabelle bereinigt wird. Wenn jedoch Data Manipulation Language (DML)-Befehle und eine Bereinigung gleichzeitig ausgeführt werden, dauern beide Vorgänge möglicherweise länger. Wenn Sie während einer Bereinigung UPDATE- und DELETE-Anweisungen ausführen, wird die Systemleistung möglicherweise reduziert. VACUUM DELETE blockiert vorübergehend Aktualisierungs- und Löschoperationen.

Amazon Redshift führt automatisch eine DELETE ONLY-Bereinigung im Hintergrund aus. Die automatische Bereinigungsoperation wird angehalten, wenn die Benutzer Data Definition Language (DDL)-Operationen ausführen, wie etwa ALTER TABLE.

Anmerkung

Syntax und Verhalten des Amazon-Redshift-Befehls VACUUM unterscheiden sich wesentlich von Syntax und Verhalten der PostgreSQL-Operation VACUUM. Beispielsweise ist die standardmäßige VACUUM-Operation in Amazon Redshift VACUUM FULL, die Festplattenspeicher zurückgewinnt und alle Zeilen neu sortiert. Die VACUUM-Operation in PostgreSQL gewinnt hingegen nur Festplattenplatz zurück und stellt ihn zur Wiederverwendung bereit.

Weitere Informationen finden Sie unter Bereinigen von Tabellen.

Erforderliche Berechtigungen

Für VACUUM sind folgende Berechtigungen erforderlich:

  • Superuser

  • Benutzer mit der Berechtigung VACUUM

  • Tabellenbesitzer

  • Datenbankbesitzer, für den die Tabelle freigegeben wird.

Syntax

VACUUM [ FULL | SORT ONLY | DELETE ONLY | REINDEX | RECLUSTER ] [ [ table_name ] [ TO threshold PERCENT ] [ BOOST ] ]

Parameter

FULL

Sortiert die angegebene Tabelle (oder alle Tabellen in der aktuellen Datenbank) und gewinnt Festplattenplatz zurück, der von Zeilen besetzt wird, die von vorherigen UPDATE- und DELETE-Operationen zur Löschung markiert wurden. Der Standardwert ist VACUUM FULL.

Eine vollständige Bereinigung führt keine Neuindizierung überlappender Tabellen aus. Um überlappende Tabellen neu zu indizieren und anschließend vollständig zu bereinigen, verwenden Sie die Option VACUUM REINDEX.

Standardmäßig überspringt VACUUM FULL die Sortierphase für alle Tabellen, die bereits zu mindestens 95 Prozent sortiert sind. Wenn VACUUM die Sortierphase überspringen kann, führt die Operation eine DELETE ONLY-Operation aus und gewinnt während der Löschphase Festplattenplatz zurück, wenn mindestens 95 Prozent der verbleibenden Zeilen nicht zur Löschung markiert sind.  

Wenn der Schwellenwert für die Sortierung nicht erreicht wird (wenn beispielsweise 90 Prozent der Zeilen sortiert sind) und VACUUM eine vollständige Sortierung ausführt, wird auch eine vollständige Löschoperation ausgeführt, so dass der Festplattenplatz von 100 Prozent der gelöschten Zeilen zurückgewonnen wird.

Sie können den Standardschwellenwert für die Bereinigung nur für einzelne Tabellen ändern. Um den Standardschwellenwert für eine Bereinigung für eine einzelne Tabelle zu ändern, verwenden Sie den Tabellennamen und den Parameter TO threshold PERCENT.

SORT ONLY

Sortiert die angegebene Tabelle (oder alle Tabellen in der aktuellen Datenbank), ohne den Festplattenplatz zurückzugewinnen, der von gelöschten Zeilen freigegeben wird. Diese Option ist nützlich, wenn das Wiederherstellen von Speicherplatz nicht wichtig ist, aber das erneute Sortieren neuer Zeilen von Bedeutung ist. Eine Bereinigung mit SORT ONLY reduziert die Zeit, die für Bereinigungsoperationen benötigt wird, wenn der nicht sortierte Bereich keine große Zahl gelöschter Zeilen enthält und nicht den gesamten sortierten Bereich umfasst. Für Anwendungen, für die es keine Einschränkungen in Bezug auf den Festplattenplatz gibt, die aber von Abfrageoptimierungen abhängig sind, für die sortierte Tabellenzeilen Voraussetzung sind, kann diese Art von Bereinigung nützlich sein.

Standardmäßig überspringt VACUUM SORT ONLY alle Tabellen, die bereits zu mindestens 95 Prozent sortiert sind. Um den Standardschwellenwert für die Sortierung für eine einzelne Tabelle zu ändern, verwenden Sie den Tabellennamen und den Parameter TO threshold PERCENT, wenn Sie VACUUM ausführen.

DELETE ONLY

Amazon Redshift führt automatisch eine DELETE ONLY-Bereinigung im Hintergrund aus, sodass Sie nur selten (wenn überhaupt) eine DELETE ONLY-Bereinigung ausführen müssen.

VACUUM DELETE gewinnt Festplattenplatz zurück, der von Zeilen besetzt wird, die von vorherigen UPDATE- und DELETE-Operationen zur Löschung markiert wurden, und macht die Tabelle kompakter, um den verbrauchten Festplattenplatz freizugeben. Eine Bereinigungsoperation mit DELETE ONLY sortiert die Tabellendaten nicht.

Diese Option reduziert den Zeitaufwand für Vacuum-Operationen, wenn das Wiederherstellen von Festplattenspeicher wichtig ist, aber das Neusortieren neuer Zeilen nicht wichtig ist. Diese Option kann auch nützlich sein, wenn Ihre Abfrageleistung bereits optimal ist. Eine Neusortierung von Zeilen zur Optimierung der Abfrageleistung ist nicht erforderlich.

Standardmäßig gewinnt VACUUM DELETE ONLY Festplattenplatz zurück, wenn mindestens 95 Prozent der verbleibenden Zeilen nicht zur Löschung markiert sind. Um den Standardschwellenwert für die Löschung für eine einzelne Tabelle zu ändern, verwenden Sie den Tabellennamen und den Parameter TO threshold PERCENT, wenn Sie VACUUM ausführen. 

Einige Operationen, wie ALTER TABLE APPEND, können dazu führen, dass Tabellen fragmentiert werden. Wenn Sie die DELETE ONLY-Klausel verwenden, gibt die Bereinigungsoperation Speicherplatz von fragmentierten Tabellen frei. Derselbe Schwellenwert von 95 Prozent gilt für die Defragmentierungsoperation.

REINDEX

Analysiert die Verteilung der Werte in überlappenden Sortierschlüsselspalten und führt anschließend eine vollständige VACUUM-Operation aus. Wenn REINDEX verwendet wird, ist ein Tabellenname erforderlich.

VACUUM REINDEX benötigt deutlich mehr Zeit als VACUUM FULL, da ein zusätzlicher Schritt zur Analyse der überlappenden Sortierschlüssel ausgeführt wird. Die Sortier- und Zusammenführungsoperationen für überlappende Tabellen kann länger dauern, weil die überlappende Sortierung möglicherweise mehr Zeilen als eine zusammengesetzte Sortierung neu anordnen muss.

Wenn eine VACUUM REINDEX-Operation beendet wird, bevor sie abgeschlossen ist, setzt die nächste VACUUM-Operation die Neuindizierungsoperation fort, bevor eine vollständige Bereinigung ausgeführt wird.

VACUUM REINDEX wird bei Verwendung von TO threshold PERCENT nicht unterstützt. 

RECLUSTER

Sortiert die Teile der Tabelle, die nicht sortiert sind. Teile der Tabelle, die bereits nach automatischer Tabellensortierung sortiert sind, bleiben intakt. Mit diesem Befehl werden die neu sortierten Daten nicht mit dem sortierten Bereich zusammengeführt. Es wird auch nicht der gesamte Speicherplatz zurückgewonnen, der zum Löschen markiert ist. Nach Beendigung dieses Befehls wird die Tabelle möglicherweise nicht vollständig sortiert angezeigt, was durch das Feld unsorted in SVV_TABLE_INFO angezeigt wird.

Wir empfehlen die Verwendung von VACUUM RECLUSTER für große Tabellen mit häufigen Zugriffen und Abfragen, die nur auf die neuesten Daten zugreifen.

VACUUM RECLUSTER wird bei Verwendung von TO threshold PERCENT nicht unterstützt. Wenn RECLUSTER verwendet wird, ist ein Tabellenname erforderlich.

VACUUM RECLUSTER wird bei Tabellen mit verschachtelten Sortierschlüsseln und Tabellen mit dem Verteilungsstil ALL nicht unterstützt.

table_name

Der Name der zu bereinigenden Tabelle. Wenn Sie keinen Tabellennamen angeben, wird die Bereinigungsoperation auf alle Tabellen in der aktuellen Datenbank angewendet. Sie können jede permanente oder temporäre Tabelle angeben, die von Benutzern erstellt wurde. Der Befehl gilt nicht für andere Objekte wie Ansichten und Systemtabellen.

Wenn Sie den Parameter TO threshold PERCENT einschließen, ist ein Tabellenname erforderlich.

TO threshold PERCENT

Eine Klausel, die den Schwellenwert, oberhalb dessen VACUUM die Sortierphase überspringt, und den Zielschwellenwert für die Rückgewinnung von Festplattenplatz während der Löschphase angibt. Der Sortierschwellenwert ist der Prozentsatz der Gesamtzahl der Zeilen, die sich bereits in der richtigen Sortierreihenfolge für die angegebene Tabelle befinden, bevor die Bereinigung gestartet wird.  Der Löschschwellenwert ist der Mindestprozentsatz der Gesamtzahl der Zeilen, die nach der Bereinigung nicht zur Löschung markiert sind.

Da VACUUM die Zeilen nur dann neu sortiert, wenn der Prozentsatz der sortierten Zeilen in einer Tabelle kleiner als der Sortierschwellenwert ist, kann Amazon Redshift die VACUUM-Zeiten oft deutlich reduzieren. Wenn VACUUM nicht der Einschränkung unterliegt, den Festplattenplatz von 100 Prozent der zur Löschung markierten Zeilen zurückzugewinnen, kann die Operation häufig das Neuschreiben von Blöcken überspringen, die nur einige wenige zur Löschung markierte Zeilen enthalten.

Wenn Sie beispielsweise 75 für den Schwellenwert angeben, überspringt VACUUM die Sortierphase, wenn sich mindestens 75 % der Tabellenzeilen bereits in der richtigen Sortierreihenfolge befinden. In Bezug auf die Löschphase gewinnt VACUUM Festplattenplatz zurück, wenn nach der Bereinigung mindestens 75 Prozent der Tabellenzeilen nicht zur Löschung markiert sind. Der Schwellenwert muss eine Ganzzahl zwischen 0 und 100 sein. Der Standardwert ist 95. Wenn Sie den Wert als 100 angeben, sortiert VACUUM die Tabelle immer, wenn sie nicht bereits vollständig sortiert ist, und gewinnt Festplattenplatz für alle Zeilen zurück, die zur Löschung markiert sind. Wenn Sie den Wert als 0 angeben, sortiert VACUUM die Tabelle niemals und gewinnt niemals Festplattenplatz zurück.

Wenn Sie den Parameter TO threshold PERCENT einschließen, müssen Sie auch einen Tabellennamen angeben. Wenn kein Tabellenname angegeben wird, ist VACUUM erfolglos.

Sie können den Parameter TO threshold PERCENT nicht mit REINDEX verwenden.

BOOST

Führt den Befehl VACUUM mit zusätzlichen Ressourcen wie Arbeitsspeicher und Festplattenspeicher aus, sobald diese verfügbar sind. Mit der Option BOOST arbeitet VACUUM in einem Fenster und blockiert gleichzeitige Lösch- und Aktualisierungsvorgänge für die Dauer der VACUUM-Operation. Wenn Sie die BOOST-Option nutzen, werden Systemressourcen gesucht, die die Abfrageleistung beeinträchtigen können. Führen Sie VACUUM BOOST aus, wenn die Last des Systems gering ist, z. B. bei Wartungsarbeiten.

Beachten Sie Folgendes, wenn Sie die Option BOOST verwenden:

  • Wenn BOOST angegeben wird, wird der Wert table_name benötigt.

  • BOOST wird von REINDEX nicht unterstützt.

  • BOOST wird bei DELETE ONLY ignoriert.

Nutzungshinweise

Für die Mehrzahl der Amazon-Redshift-Anwendungen wird eine vollständige Bereinigung empfohlen. Weitere Informationen finden Sie unter Bereinigen von Tabellen.

Beachten Sie das folgende Verhalten, bevor Sie eine Bereinigungsoperation ausführen:

  • Sie können VACUUM nicht innerhalb eines Transaktionsblocks ausführen (BEGIN ... END). Weitere Informationen Transaktionen finden Sie unter Serialisierbare Isolierung.

  • Es kann vorkommen, dass die Größe von Tabellen zunimmt, wenn sie bereinigt werden. Dieses Verhalten ist erwartet, wenn es keine gelöschten Zeilen gibt, für die Festplattenplatz zurückgewonnen werden könnte, oder wenn die neue Sortierreihenfolge der Tabelle zu einem niedrigeren Datenkompressionsverhältnis führt.

  • Während Bereinigungsoperationen ist eine gewisse Abnahme der Abfrageleistung ein erwartetes Verhalten. Die normale Leistung wird wiederhergestellt, sobald die Bereinigungsoperation abgeschlossen ist.

  • Gleichzeitig ausgeführte Schreiboperationen werden während Bereinigungsoperationen fortgesetzt. Es wird jedoch davon abgeraten, während Bereinigungsoperationen Schreiboperationen auszuführen. Es ist effizienter, Schreiboperationen abzuschließen, bevor die Bereinigung ausgeführt wird. Außerdem können Daten, die nach dem Starten einer Bereinigungsoperation geschrieben werden, von dieser Operation nicht bereinigt werden. In diesem Fall ist eine zweite Bereinigungsoperation erforderlich.

  • Eine Bereinigungsoperation kann möglicherweise nicht gestartet werden, wenn bereits eine Lade- oder Einfügeoperation ausgeführt werden. Bereinigungsoperationen erfordern vorübergehend exklusiven Zugriff auf Tabellen, um gestartet werden zu können. Dieser exklusive Zugriff ist nur kurz erforderlich. Bereinigungsoperationen blockieren daher keine gleichzeitig ausgeführten Lade- und Einfügeoperationen über einen wesentlichen Zeitraum.

  • Bereinigungsoperationen werden übersprungen, wenn es für eine bestimmte Tabelle keinen Handlungsbedarf gibt. Mit der Feststellung, dass die Operation übersprungen werden kann, ist jedoch ein gewisser Overhead verbunden. Wenn Ihnen bekannt ist, dass eine Tabelle optimiert ist oder den Schwellenwert für die Bereinigung nicht erfüllt, führen Sie keine Bereinigungsoperation für sie aus.

  • Eine Bereinigungsoperation mit DELETE ONLY für eine kleine Tabelle reduziert möglicherweise die Zahl der Blöcke nicht, die für das Speichern der Daten verwendet werden, besonders, wenn die Tabelle eine große Zahl von Spalten besitzt oder der Cluster eine große Zahl von Slices pro Knoten verwendet. Diese Bereinigungsoperationen fügen einen Block pro Spalte und Slice hinzu, um gleichzeitig ausgeführte Einfügungen in die Tabelle zu berücksichtigen. Es ist möglich, dass dieser Overhead die Reduzierung der Blockzahl aufgrund der Rückgewinnung von Festplattenplatz aufwiegt. Wenn beispielsweise eine Tabelle mit 10 Spalten in einem Cluster mit 8 Knoten vor einer Bereinigung 1000 Blöcke besetzt, reduziert die Bereinigung die tatsächliche Blockzahl nicht, es sei denn, aufgrund der Löschung von Zeilen werden mehr als 80 Blöcke Festplattenplatz zurückgewonnen. (Jeder Datenblock nimmt 1 MB in Anspruch.)

Automatische Bereinigungsvorgänge werden angehalten, wenn eine der folgenden Bedingungen erfüllt ist:

  • Ein Benutzer führt eine Data Definition Language (DDL)-Operation wie etwa ALTER TABLE aus, die eine exklusive Sperre für eine Tabelle erforderlich macht, an der die automatische Bereinigung aktuell arbeitet.

  • Ein Zeitraum hoher Cluster-Auslastung.

Support für gleichzeitiges VACUUM

Amazon Redshift unterstützt die gleichzeitige Ausführung mehrerer Vakuumtransaktionen in verschiedenen Sitzungen in einem Cluster oder einer Arbeitsgruppe. Das bedeutet, dass Sie verschiedene und mehrere Instanzen aller Vakuummodi gleichzeitig ausgeben können, wobei jede Vakuumtransaktion in einer eindeutigen Tabelle gespeichert wird. Zwei Vakuumvorgänge können nicht gleichzeitig an einem einzigen Tisch ausgeführt werden.

Richtlinien für den gleichzeitigen Betrieb des Vakuumierens

  • Wenn Sie gleichzeitige Vakuumtransaktionen in verschiedenen Sitzungen ausführen, sollten Sie die Systemressourcen überwachen und vermeiden, dass zu viele Vakuumvorgänge gleichzeitig ausgeführt werden.

  • Die empfohlene Parallelitätsstufe hängt von der Menge an Speicherplatz ab, der zurückgewonnen werden soll, sowohl von der Anzahl als auch von der Breite der zu sortierenden Zeilen, der Größe des Lagers und der Größe Ihrer Arbeitslast, die parallel zu den VACUUM-Vorgängen ausgeführt wird.

  • Beginnen Sie je nach Modus der Vakuumtransaktion mit zwei gleichzeitigen Vakuumvorgängen und fügen Sie je nach Laufzeit und Systemauslastung weitere hinzu. Genau wie andere umfangreiche Anfragen von Benutzern können Vakuumvorgänge in Warteschlangen beginnen, wenn Sie zu viele gleichzeitig ausführen, wenn Amazon Redshift die Systemressourcenlimits erreicht.

  • Führen Sie mehrere Vacuum BOOST-Operationen sorgfältig aus. Wenn Sie Vacuum mit der BOOST-Option ausführen, werden Systemressourcen beansprucht, was sich auf die Abfrageleistung auswirken kann. Führen Sie VACUUM BOOST aus, wenn die Last des Systems gering ist, z. B. bei Wartungsarbeiten.

  • Wenn Sie keinen Tabellennamen angeben, wird die Bereinigungsoperation auf alle Tabellen in der aktuellen Datenbank angewendet. Diese Vakuumvorgänge werden weiterhin sequentiell ausgeführt.

Beispiele

Stellen Sie Platz und Datenbankplatz wieder her und sortieren Sie die Zeilen in allen Tabellen neu (basierend auf dem standardmäßigen Vacuum-Schwellenwert von 95 %).

vacuum;

Stellen Sie Platz und Datenbankplatz in der SALES-Tabelle wieder her und sortieren Sie die Zeilen in allen Tabellen neu (basierend auf dem standardmäßigen Vacuum-Schwellenwert von 95 %).

vacuum sales;

Rufen Sie immer verfügbaren Platz in der Tabelle SALES ab und sortieren Sie die Zeilen neu.

vacuum sales to 100 percent;

Sortieren Sie Zeilen in der Tabelle SALES nur dann neu, wenn weniger als 75 % der Zeilen bereits sortiert sind.

vacuum sort only sales to 75 percent;

Gewinnt Festplattenplatz in der Tabelle SALES zurück, wenn mindestens 75 Prozent der verbleibenden Zeilen nach der Bereinigung nicht zur Löschung markiert sind.

vacuum delete only sales to 75 percent;

Indiziert die Tabelle LISTING neu und bereinigt sie anschließend.

vacuum reindex listing;

Der folgende Befehl gibt einen Fehler zurück.

vacuum reindex listing to 75 percent;

Ordnet die Cluster neu an und bereinigt die LISTING-Tabelle anschließend.

vacuum recluster listing;

Ordnet die Cluster neu an und bereinigt die LISTING-Tabelle anschließend mit der BOOST-Option.

vacuum recluster listing boost;
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.