Bekerja dengan kompresi kolom - Amazon Redshift

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

Bekerja dengan kompresi kolom

Kompresi adalah operasi tingkat kolom yang mengurangi ukuran data saat disimpan. Kompresi menghemat ruang penyimpanan dan mengurangi ukuran data yang dibaca dari penyimpanan, yang mengurangi jumlah disk I/O dan karenanya meningkatkan kinerja kueri.

ENCODE AUTO adalah default untuk tabel. Saat tabel diatur ke ENCODE AUTO, Amazon Redshift secara otomatis mengelola pengkodean kompresi untuk semua kolom dalam tabel. Lihat informasi yang lebih lengkap di CREATE TABLE dan ALTER TABLE.

Namun, jika Anda menentukan pengkodean kompresi untuk kolom apa pun dalam tabel, tabel tidak lagi diatur ke ENCODE AUTO. Amazon Redshift tidak lagi secara otomatis mengelola pengkodean kompresi untuk semua kolom dalam tabel.

Anda dapat menerapkan jenis kompresi, atau pengkodean, ke kolom dalam tabel secara manual saat Anda membuat tabel. Atau Anda dapat menggunakan perintah COPY untuk menganalisis dan menerapkan kompresi secara otomatis. Untuk informasi selengkapnya, lihat Biarkan COPY memilih pengkodean kompresi. Untuk detail tentang menerapkan kompresi otomatis, lihatMemuat tabel dengan kompresi otomatis.

catatan

Kami sangat menyarankan menggunakan perintah COPY untuk menerapkan kompresi otomatis.

Anda dapat memilih untuk menerapkan pengkodean kompresi secara manual jika tabel baru memiliki karakteristik data yang sama dengan tabel lain. Atau Anda dapat melakukannya jika Anda menemukan dalam pengujian bahwa pengkodean kompresi yang diterapkan selama kompresi otomatis tidak paling cocok untuk data Anda. Jika Anda memilih untuk menerapkan pengkodean kompresi secara manual, Anda dapat menjalankan ANALYZE COMPRESSION perintah terhadap tabel yang sudah diisi dan menggunakan hasilnya untuk memilih pengkodean kompresi.

Untuk menerapkan kompresi secara manual, Anda menentukan pengkodean kompresi untuk kolom individual sebagai bagian dari pernyataan CREATE TABLE. Sintaksnya adalah sebagai berikut.

CREATE TABLE table_name (column_name data_type ENCODE encoding-type)[, ...]

Di sini, encoding-type diambil dari tabel kata kunci di bagian berikut.

Misalnya, pernyataan berikut membuat tabel dua kolom, PRODUCT. Ketika data dimuat ke dalam tabel, kolom PRODUCT_ID tidak dikompresi, tetapi kolom PRODUCT_NAME dikompresi, menggunakan pengkodean kamus byte (BYTEDICT).

create table product( product_id int encode raw, product_name char(20) encode bytedict);

Anda dapat menentukan pengkodean untuk kolom ketika ditambahkan ke tabel menggunakan perintah ALTER TABLE.

ALTER TABLE table-name ADD [ COLUMN ] column_name column_type ENCODE encoding-type