CTAScontoh - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CTAScontoh

Contoh berikut membuat tabel yang disebut EVENT _ BACKUP untuk EVENT tabel:

create table event_backup as select * from event;

Tabel yang dihasilkan mewarisi distribusi dan mengurutkan kunci dari EVENT tabel.

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

Perintah berikut membuat tabel baru yang disebut EVENTDISTSORT dengan memilih empat kolom dari EVENT tabel. Tabel baru didistribusikan berdasarkan EVENTID dan diurutkan berdasarkan EVENTID danDATEID:

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

Hasilnya adalah sebagai berikut:

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

Anda dapat membuat tabel yang persis sama dengan menggunakan nama kolom untuk distribusi dan kunci pengurutan. Sebagai contoh:

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

Pernyataan berikut menerapkan distribusi genap ke tabel tetapi tidak mendefinisikan kunci pengurutan eksplisit.

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

Tabel tidak mewarisi kunci pengurutan dari EVENT tabel (EVENTID) karena EVEN distribusi ditentukan untuk tabel baru. Tabel baru tidak memiliki kunci pengurutan dan tidak ada kunci distribusi.

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

Pernyataan berikut menerapkan distribusi genap dan mendefinisikan kunci pengurutan:

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

Tabel yang dihasilkan memiliki kunci pengurutan tetapi tidak ada kunci distribusi.

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

Pernyataan berikut mendistribusikan ulang EVENT tabel pada kolom kunci yang berbeda dari data yang masuk, yang diurutkan pada EVENTID kolom, dan mendefinisikan tidak ada SORTKEY kolom; oleh karena itu tabel tidak diurutkan.

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

Hasilnya adalah sebagai berikut:

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