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.
Hinweise zur Partitionierung
Partitionierungshinweise steuern die Datenverteilung zwischen den Executor-Knoten. Wenn mehrere Partitionierungshinweise angegeben sind, werden mehrere Knoten in den logischen Plan eingefügt, aber der Hinweis ganz links wird vom Optimierer ausgewählt.
COALESCE
Reduziert die Anzahl der Partitionen auf die angegebene Anzahl von Partitionen.
Parameter: Numerischer Wert (erforderlich) — muss eine positive Ganzzahl zwischen 1 und 2147483647 sein
Beispiele:
-- Reduce to 5 partitions SELECT /*+ COALESCE(5) */ employee_id, salary FROM employees;
VERTEILUNG
Partitioniert Daten mithilfe der angegebenen Partitionierungsausdrücke auf die angegebene Anzahl von Partitionen neu. Verwendet die Round-Robin-Verteilung.
Parameter:
-
Numerischer Wert (optional) — Anzahl der Partitionen; muss eine positive Ganzzahl zwischen 1 und 2147483647 sein
-
Spaltenbezeichner (optional) — Spalten, nach denen partitioniert werden soll; Diese Spalten müssen im Eingabeschema vorhanden sein.
-
Wenn beide angegeben sind, muss der numerische Wert an erster Stelle stehen
Beispiele:
-- Repartition to 10 partitions SELECT /*+ REPARTITION(10) */ * FROM employees; -- Repartition by column SELECT /*+ REPARTITION(department) */ * FROM employees; -- Repartition to 8 partitions by department SELECT /*+ REPARTITION(8, department) */ * FROM employees; -- Repartition by multiple columns SELECT /*+ REPARTITION(8, department, location) */ * FROM employees;
REPARTITION_BY_RANGE
Partitioniert Daten mithilfe der Bereichspartitionierung der angegebenen Spalten auf die angegebene Anzahl von Partitionen neu.
Parameter:
-
Numerischer Wert (optional) — Anzahl der Partitionen; muss eine positive Ganzzahl zwischen 1 und 2147483647 sein
-
Spaltenbezeichner (optional) — Spalten, nach denen partitioniert werden soll; Diese Spalten müssen im Eingabeschema vorhanden sein.
-
Wenn beide angegeben sind, muss der numerische Wert an erster Stelle stehen
Beispiele:
SELECT /*+ REPARTITION_BY_RANGE(10) */ * FROM employees; -- Repartition by range on age column SELECT /*+ REPARTITION_BY_RANGE(age) */ * FROM employees; -- Repartition to 5 partitions by range on age SELECT /*+ REPARTITION_BY_RANGE(5, age) */ * FROM employees; -- Repartition by range on multiple columns SELECT /*+ REPARTITION_BY_RANGE(5, age, salary) */ * FROM employees;
NEU AUSBALANCIEREN
Die Ausgabepartitionen der Abfrageergebnisse werden neu verteilt, sodass jede Partition eine angemessene Größe hat (nicht zu klein und nicht zu groß). Dabei handelt es sich um ein Verfahren nach bestem Bemühen: Wenn schiefe Partitionen vorhanden sind, AWS Clean Rooms werden die schiefen Partitionen aufgeteilt, damit sie nicht zu groß werden. Dieser Hinweis ist nützlich, wenn Sie das Ergebnis einer Abfrage in eine Tabelle schreiben müssen, um zu kleine oder zu große Dateien zu vermeiden.
Parameter:
-
Numerischer Wert (optional) — Anzahl der Partitionen; muss eine positive Ganzzahl zwischen 1 und 2147483647 sein
-
Spaltenbezeichner (optional) — Spalten müssen in der SELECT-Ausgabeliste erscheinen
-
Wenn beide angegeben sind, muss der numerische Wert an erster Stelle stehen
Beispiele:
-- Rebalance to 10 partitions SELECT /*+ REBALANCE(10) */ employee_id, name FROM employees; -- Rebalance by specific columns in output SELECT /*+ REBALANCE(employee_id, name) */ employee_id, name FROM employees; -- Rebalance to 8 partitions by specific columns SELECT /*+ REBALANCE(8, employee_id, name) */ employee_id, name, department FROM employees;