CTASBeispiele - 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.

CTASBeispiele

Im folgenden Beispiel wird eine Tabelle mit dem Namen EVENT _ BACKUP für die EVENT Tabelle erstellt:

create table event_backup as select * from event;

Die resultierende Tabelle erbt die Verteilungs- und Sortierschlüssel von der EVENT Tabelle.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'event_backup'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+-------- catid | smallint | none | false | 0 dateid | smallint | none | false | 1 eventid | integer | none | true | 0 eventname | character varying(200) | none | false | 0 starttime | timestamp without time zone | none | false | 0 venueid | smallint | none | false | 0

Mit dem folgenden Befehl wird eine neue Tabelle erstellt, die aufgerufen wird, EVENTDISTSORT indem vier Spalten aus der EVENT Tabelle ausgewählt werden. Die neue Tabelle wird nach EVENTID und verteilt EVENTID und sortiertDATEID:

create table eventdistsort distkey (1) sortkey (1,3) as select eventid, venueid, dateid, eventname from event;

Das Ergebnis ist wie folgt:

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistsort'; column | type | encoding | distkey | sortkey ---------+------------------------+----------+---------+------- eventid | integer | none | t | 1 venueid | smallint | none | f | 0 dateid | smallint | none | f | 2 eventname | character varying(200)| none | f | 0

Sie könnten genau die gleiche Tabelle erstellen, indem Sie für die Verteilungs- und Sortierschlüssel Spaltennamen verwenden. Beispiel:

create table eventdistsort1 distkey (eventid) sortkey (eventid, dateid) as select eventid, venueid, dateid, eventname from event;

Die folgende Anweisung wendet eine gleichmäßige Verteilung auf die Tabelle an, definiert jedoch keinen expliziten Sortierschlüssel:

create table eventdisteven diststyle even as select eventid, venueid, dateid, eventname from event;

Die Tabelle erbt den Sortierschlüssel nicht von der EVENT Tabelle (EVENTID), da die EVEN Verteilung für die neue Tabelle angegeben ist. Die neue Tabelle besitzt weder einen Sortierschlüssel noch einen Verteilungsschlüssel.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdisteven'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+--------- eventid | integer | none | f | 0 venueid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0

Die folgende Anweisung wendet eine gleichmäßige Verteilung an und definiert einen Sortierschlüssel:

create table eventdistevensort diststyle even sortkey (venueid) as select eventid, venueid, dateid, eventname from event;

Die erstellte Tabelle besitzt einen Sortierschlüssel, jedoch keinen Verteilungsschlüssel.

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'eventdistevensort'; column | type | encoding | distkey | sortkey ----------+------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | f | 1 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0

Die folgende Anweisung verteilt die EVENT Tabelle in einer anderen Schlüsselspalte als die eingehenden Daten, die nach der EVENTID Spalte sortiert sind, und definiert keine SORTKEY Spalte; daher ist die Tabelle nicht sortiert.

create table venuedistevent distkey(venueid) as select * from event;

Das Ergebnis ist wie folgt:

select "column", type, encoding, distkey, sortkey from pg_table_def where tablename = 'venuedistevent'; column | type | encoding | distkey | sortkey ----------+-----------------------------+----------+---------+------- eventid | integer | none | f | 0 venueid | smallint | none | t | 0 catid | smallint | none | f | 0 dateid | smallint | none | f | 0 eventname | character varying(200) | none | f | 0 starttime | timestamp without time zone | none | f | 0