Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
BUAT TABEL SEBAGAI
Membuat tabel baru berdasarkan query. Pemilik tabel ini adalah pengguna yang mengeluarkan perintah.
Tabel baru dimuat dengan data yang ditentukan oleh kueri dalam perintah. Kolom tabel memiliki nama dan tipe data yang terkait dengan kolom keluaran kueri. Perintah CREATE TABLE AS (CTAS) membuat tabel baru dan mengevaluasi kueri untuk memuat tabel baru.
Sintaks
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ ( column_name [, ... ] ) ] [ BACKUP { YES | NO } ] [ table_attributes ] AS query where table_attributes are: [ DISTSTYLE { AUTO | EVEN | ALL | KEY } ] [ DISTKEY( distkey_identifier ) ] [ [ COMPOUND | INTERLEAVED ] SORTKEY( column_name [, ...] ) ]
Parameter
- LOKAL
-
Meskipun kata kunci opsional ini diterima dalam pernyataan, itu tidak berpengaruh di Amazon Redshift.
- SEMENTARA | TEMP
-
Membuat tabel sementara. Tabel sementara secara otomatis dijatuhkan di akhir sesi di mana ia dibuat.
- table_name
-
Nama tabel untuk dibuat.
penting
Jika Anda menentukan nama tabel yang dimulai dengan '# ', tabel dibuat sebagai tabel sementara. Sebagai contoh:
create table #newtable (id) as select * from oldtable;
Panjang nama tabel maksimum adalah 127 byte; nama yang lebih panjang dipotong menjadi 127 byte. Amazon Redshift memberlakukan kuota jumlah tabel per cluster menurut jenis node. Nama tabel dapat dikualifikasikan dengan database dan nama skema, seperti yang ditunjukkan tabel berikut.
create table tickit.public.test (c1) as select * from oldtable;
Dalam contoh ini,
tickit
adalah nama database danpublic
merupakan nama skema. Jika database atau skema tidak ada, pernyataan mengembalikan kesalahan.Jika nama skema diberikan, tabel baru dibuat dalam skema itu (dengan asumsi pencipta memiliki akses ke skema). Nama tabel harus menjadi nama unik untuk skema itu. Jika tidak ada skema yang ditentukan, tabel dibuat menggunakan skema database saat ini. Jika Anda membuat tabel sementara, Anda tidak dapat menentukan nama skema, karena tabel sementara ada dalam skema khusus.
Beberapa tabel sementara dengan nama yang sama diizinkan untuk ada pada saat yang sama dalam database yang sama jika mereka dibuat dalam sesi terpisah. Tabel ini ditugaskan ke skema yang berbeda.
- column_name
-
Nama kolom di tabel baru. Jika tidak ada nama kolom yang disediakan, nama kolom diambil dari nama kolom keluaran kueri. Nama kolom default digunakan untuk ekspresi. Untuk informasi selengkapnya tentang nama yang valid, lihatNama dan pengidentifikasi.
- CADANGAN {YA | TIDAK}
-
Klausa yang menentukan apakah tabel harus disertakan dalam snapshot cluster otomatis dan manual.
Untuk tabel, seperti tabel pementasan, yang tidak berisi data penting, tentukan BACKUP NO untuk menghemat waktu pemrosesan saat membuat snapshot dan memulihkan dari snapshot dan untuk mengurangi ruang penyimpanan di Amazon Simple Storage Service. Pengaturan BACKUP NO tidak berpengaruh pada replikasi otomatis data ke node lain di dalam cluster, sehingga tabel dengan BACKUP NO ditentukan dipulihkan jika terjadi kegagalan node. Defaultnya adalah BACKUP YA.
- DISTSTYLE {OTOMATIS | GENAP | KUNCI | SEMUA}
-
Kata kunci yang mendefinisikan gaya distribusi data untuk seluruh tabel. Amazon Redshift mendistribusikan baris tabel ke node komputasi sesuai dengan gaya distribusi yang ditentukan untuk tabel. Defaultnya adalah DISTSTYLE AUTO.
Gaya distribusi yang Anda pilih untuk tabel mempengaruhi kinerja keseluruhan database Anda. Untuk informasi selengkapnya, lihat Distribusi data untuk optimasi kueri.
-
AUTO: Amazon Redshift menetapkan gaya distribusi optimal berdasarkan data tabel. Untuk melihat gaya distribusi yang diterapkan ke tabel, kueri tabel katalog sistem PG_CLASS. Untuk informasi selengkapnya, lihat Melihat gaya distribusi.
-
BAHKAN: Data dalam tabel tersebar merata di seluruh node dalam cluster dalam distribusi round-robin. Baris IDs digunakan untuk menentukan distribusi, dan kira-kira jumlah baris yang sama didistribusikan ke setiap node. Ini adalah metode distribusi default.
-
KUNCI: Data didistribusikan oleh nilai-nilai di kolom DISTKEY. Saat Anda mengatur kolom gabungan dari tabel gabungan sebagai kunci distribusi, baris penggabungan dari kedua tabel ditempatkan pada node komputasi. Saat data dikumpulkan, pengoptimal dapat melakukan penggabungan dengan lebih efisien. Jika Anda menentukan KUNCI DISTYLE, Anda harus memberi nama kolom DISTKEY.
-
ALL: Salinan seluruh tabel didistribusikan ke setiap node. Gaya distribusi ini memastikan bahwa semua baris yang diperlukan untuk gabungan apa pun tersedia di setiap node, tetapi ini mengalikan persyaratan penyimpanan dan meningkatkan waktu pemuatan dan pemeliharaan untuk tabel. Distribusi ALL dapat meningkatkan waktu eksekusi bila digunakan dengan tabel dimensi tertentu di mana distribusi KEY tidak sesuai, tetapi peningkatan kinerja harus dipertimbangkan terhadap biaya pemeliharaan.
-
- DISTKEY (kolom)
-
Menentukan nama kolom atau nomor posisi untuk kunci distribusi. Gunakan nama yang ditentukan dalam daftar kolom opsional untuk tabel atau daftar pilih kueri. Atau, gunakan nomor posisi, di mana kolom pertama yang dipilih adalah 1, yang kedua adalah 2, dan seterusnya. Hanya satu kolom dalam tabel yang dapat menjadi kunci distribusi:
-
Jika Anda mendeklarasikan kolom sebagai kolom DISTKEY, DISTSTYLE harus disetel ke KEY atau tidak disetel sama sekali.
-
Jika Anda tidak mendeklarasikan kolom DISTKEY, Anda dapat mengatur DISTYLE ke EVEN.
-
Jika Anda tidak menentukan DISTKEY atau DISTYLE, CTAS menentukan gaya distribusi untuk tabel baru berdasarkan rencana kueri untuk klausa SELECT. Untuk informasi selengkapnya, lihat Warisan atribut kolom dan tabel.
Anda dapat menentukan kolom yang sama dengan kunci distribusi dan kunci pengurutan; pendekatan ini cenderung mempercepat bergabung ketika kolom yang dimaksud adalah kolom gabungan dalam kueri.
-
- [SENYAWA | DISISIPKAN] SORTKEY (column_name [,...])
-
Menentukan satu atau lebih kunci sortir untuk tabel. Saat data dimuat ke dalam tabel, data diurutkan berdasarkan kolom yang ditetapkan sebagai kunci pengurutan.
Anda dapat secara opsional menentukan gaya pengurutan COMPOUND atau INTERLEAVED. Defaultnya adalah COMPOUND. Untuk informasi selengkapnya, lihat Sortir kunci.
Anda dapat menentukan maksimum 400 kolom COMPOUND SORTKEY atau 8 kolom SORTKEY INTERLEAVED per tabel.
Jika Anda tidak menentukan SORTKEY, CTAS menentukan kunci pengurutan untuk tabel baru berdasarkan rencana kueri untuk klausa SELECT. Untuk informasi selengkapnya, lihat Warisan atribut kolom dan tabel.
- SENYAWA
-
Menentukan bahwa data diurutkan menggunakan kunci majemuk yang terdiri dari semua kolom yang terdaftar, dalam urutan mereka terdaftar. Kunci sortir majemuk paling berguna ketika kueri memindai baris sesuai dengan urutan kolom pengurutan. Manfaat kinerja penyortiran dengan kunci majemuk berkurang ketika kueri bergantung pada kolom pengurutan sekunder. Anda dapat menentukan maksimum 400 kolom COMPOUND SORTKEY per tabel.
- DISISIPKAN
-
Menentukan bahwa data diurutkan menggunakan kunci sortir disisipkan. Maksimal delapan kolom dapat ditentukan untuk kunci sortir yang disisipkan.
Pengurutan yang disisipkan memberikan bobot yang sama untuk setiap kolom, atau subset kolom, dalam kunci pengurutan, sehingga kueri tidak bergantung pada urutan kolom dalam kunci pengurutan. Saat kueri menggunakan satu atau beberapa kolom pengurutan sekunder, penyortiran interleaved secara signifikan meningkatkan kinerja kueri. Penyortiran interleaved membawa biaya overhead yang kecil untuk operasi pemuatan data dan penyedotan debu.
- Sebagai kueri
-
Setiap kueri (pernyataan SELECT) yang didukung Amazon Redshift.