Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blog-Posting
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.
TRUNCATE
Löscht alle Zeilen aus einer Tabelle, ohne die Tabelle zu scannen: Dieser Vorgang stellt eine schnellere Alternative zu einer nicht qualifizierten DELETE-Operation dar. Um einen TRUNCATE-Befehl auszuführen, muss Ihnen die Berechtigung TRUNCATE für die Tabelle erteilt worden sein, Sie müssen der Besitzer der Tabelle sein oder Sie müssen ein Superuser sein. Mit dem GRANT-Befehl können Sie Berechtigungen zum Kürzen einer Tabelle erteilen.
TRUNCATE ist sehr viel effizienter als DELETE und erfordert weder VACUUM noch ANALYZE. Denken Sie jedoch daran, dass TRUNCATE ein Commit für die Transaktion ausführt, in der er ausgeführt wird.
Syntax
TRUNCATE [ TABLE ] table_name
Der Befehl funktioniert auch in einer materialisierten Ansicht.
TRUNCATE materialized_view_name
Parameters
- TABLE
-
Optionales Schlüsselwort.
- table_name
-
Eine temporäre oder persistente Tabelle. Nur der Besitzer der Tabelle oder ein Superuser können sie verkürzen.
Sie können jede Tabelle abschneiden, auch Tabellen, die in Fremdschlüsseleinschränkungen referenziert werden.
Sie müssen eine Tabelle nicht bereinigen, nachdem Sie sie abgeschnitten haben.
- materialized_view_name
-
Eine materialisierte Ansicht.
Sie können eine materialisierte Ansicht, die für Streaming-Aufnahme in eine materialisierte Ansicht verwendet wird, kürzen.
Nutzungshinweise
Der Befehl TRUNCATE führt ein Commit für die Transaktion aus, in der er ausgeführt wird. Daher können Sie für eine TRUNCATE-Operation kein Rollback ausführen. Ein TRUNCATE-Befehl kann ein Commit für andere Operationen ausführen, wenn er ein Commit für sich selbst ausführt.
-
TRUNCATE-Operationen enthalten exklusive Sperren, wenn sie in materialisierten Ansichten für das Streaming in Amazon Redshift ausgeführt werden, die mit einem der folgenden Streams verbunden sind:
Einem Amazon-Kinesis-Datenstrom
Einem Thema in Amazon Managed Streaming für Apache Kafka
Einem unterstützten externen Stream, z. B. einem Thema in Confluent Cloud Kafka
Weitere Informationen finden Sie unter Streaming-Aufnahme in eine materialisierte Ansicht.
Beispiele
Verwenden Sie den Befehl TRUNCATE, um alle Zeilen aus der Tabelle CATEGORY zu löschen:
truncate category;
Im folgenden Beispiel wird versucht, ein Rollback für eine TRUNCATE-Operation auszuführen:
begin; truncate date; rollback; select count(*) from date; count ------- 0 (1 row)
Die Tabelle DATE bleibt nach dem ROLLBACK-Befehl leer, da der TRUNCATE-Befehl automatisch ein Commit ausgeführt hat.
Im folgenden Beispiel wird der Befehl TRUNCATE verwendet, um alle Zeilen einer materialisierten Ansicht zu löschen.
truncate my_materialized_view;
Er löscht alle Datensätze in der materialisierten Ansicht und lässt die materialisierte Ansicht und ihr Schema unverändert. In der Abfrage ist der Name der materialisierten Ansicht ein Beispiel.