Kunci pengurutan disisipkan - Amazon Redshift

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

Kunci pengurutan disisipkan

Urutan yang disisipkan memberikan bobot yang sama untuk setiap kolom, atau subset kolom, dalam kunci pengurutan. Jika beberapa kueri menggunakan kolom yang berbeda untuk filter, maka Anda sering dapat meningkatkan kinerja untuk kueri tersebut dengan menggunakan gaya pengurutan interleaved. Ketika kueri menggunakan predikat restriktif pada kolom pengurutan sekunder, penyortiran interleaved secara signifikan meningkatkan kinerja kueri dibandingkan dengan pengurutan majemuk.

penting

Jangan gunakan tombol sortir interleaved pada kolom dengan atribut yang meningkat secara monoton, seperti kolom identitas, tanggal, atau stempel waktu.

Peningkatan kinerja yang Anda peroleh dengan menerapkan kunci sortir interleaved harus ditimbang terhadap peningkatan waktu beban dan vakum.

Jenis interleaved paling efektif dengan kueri yang sangat selektif yang memfilter pada satu atau lebih kolom kunci sortir dalam WHERE klausa, misalnya. select c_name from customer where c_region = 'ASIA' Manfaat penyortiran interleaved meningkat dengan jumlah kolom yang diurutkan yang dibatasi.

Jenis interleaved lebih efektif dengan tabel besar. Penyortiran diterapkan pada setiap irisan. Dengan demikian, jenis interleaved paling efektif ketika tabel cukup besar untuk membutuhkan beberapa blok 1 MB per irisan. Di sini, prosesor kueri dapat melewati sebagian besar blok menggunakan predikat restriktif. Untuk melihat jumlah blok yang digunakan tabel, kueri tampilan STV_BLOCKLIST sistem.

Saat menyortir pada satu kolom, pengurutan yang disisipkan mungkin memberikan kinerja yang lebih baik daripada pengurutan majemuk jika nilai kolom memiliki awalan umum yang panjang. Misalnya, URLs biasanya dimulai dengan "http://www”. Tombol sortir majemuk menggunakan sejumlah karakter dari awalan, yang menghasilkan banyak duplikasi kunci. Jenis interleaved menggunakan skema kompresi internal untuk nilai peta zona yang memungkinkan mereka untuk membedakan dengan lebih baik di antara nilai kolom yang memiliki awalan umum yang panjang.

Saat memigrasikan cluster yang disediakan Amazon Redshift ke Amazon Redshift Tanpa Server, Redshift mengonversi tabel dengan kunci pengurutan yang disisipkan dan menjadi kunci pengurutan gabungan. DISTSTYLE KEY DISTSTYLEItu tidak berubah. Untuk informasi selengkapnya tentang gaya distribusi, lihat Bekerja dengan gaya distribusi data.

VACUUM REINDEX

Saat Anda menambahkan baris ke tabel yang diurutkan yang sudah berisi data, kinerja mungkin memburuk seiring waktu. Kerusakan ini terjadi untuk jenis majemuk dan interleaved, tetapi memiliki efek yang lebih besar pada tabel yang disisipkan. A VACUUM mengembalikan urutan pengurutan, tetapi operasi dapat memakan waktu lebih lama untuk tabel interleaved karena menggabungkan data interleaved baru mungkin melibatkan memodifikasi setiap blok data.

Saat tabel awalnya dimuat, Amazon Redshift menganalisis distribusi nilai di kolom kunci sortir dan menggunakan informasi tersebut untuk interleaving kolom kunci pengurutan yang optimal. Saat tabel tumbuh, distribusi nilai dalam kolom kunci sortir dapat berubah, atau miring, terutama dengan kolom tanggal atau stempel waktu. Jika kemiringan menjadi terlalu besar, kinerja mungkin terpengaruh. Untuk menganalisis kembali kunci sortir dan mengembalikan kinerja, jalankan VACUUM perintah dengan kata REINDEX kunci. Karena itu harus mengambil analisis tambahan melewati data, VACUUM REINDEX bisa memakan waktu lebih lama dari standar VACUUM untuk tabel interleaved. Untuk melihat informasi tentang kemiringan distribusi kunci dan waktu indeks ulang terakhir, kueri tampilan sistem. SVV_INTERLEAVED_COLUMNS

Untuk informasi selengkapnya tentang cara menentukan seberapa sering menjalankan VACUUM dan kapan harus menjalankan VACUUMREINDEX, lihatPutuskan apakah akan mengindeks ulang.