Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci pengurutan yang 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 yang disisipkan. Ketika kueri menggunakan predikat terbatas pada kolom pengurutan sekunder, penyortiran interleaved secara signifikan meningkatkan kinerja kueri dibandingkan dengan penyortiran majemuk.
penting
Jangan gunakan kunci pengurutan yang disisipkan pada kolom dengan atribut yang meningkat secara monoton, seperti kolom identitas, tanggal, atau stempel waktu.
Peningkatan kinerja yang Anda peroleh dengan menerapkan kunci pengurutan yang disisipkan harus ditimbang terhadap peningkatan waktu beban dan vakum.
Sortir yang disisipkan paling efektif dengan kueri yang sangat selektif yang memfilter satu atau lebih kolom kunci pengurutan dalam klausa WHERE, misalnya. select
c_name from customer where c_region = 'ASIA' Manfaat penyortiran interleaved meningkat dengan jumlah kolom yang diurutkan yang dibatasi.
Urutan yang disisipkan lebih efektif dengan tabel besar. Penyortiran diterapkan pada setiap irisan. Dengan demikian, pengurutan yang disisipkan 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 terbatas. Untuk melihat jumlah blok yang digunakan tabel, kueri STV_BLOCKLIST tampilan 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, URL biasanya dimulai dengan "http://www”. Kunci pengurutan majemuk menggunakan sejumlah karakter terbatas dari awalan, yang menghasilkan banyak duplikasi kunci. Sortir yang disisipkan menggunakan skema kompresi internal untuk nilai peta zona yang memungkinkannya membedakan dengan lebih baik di antara nilai-nilai kolom yang memiliki awalan umum yang panjang.
Saat memigrasikan cluster yang disediakan Amazon Redshift ke Amazon Redshift Serverless, Redshift mengonversi tabel dengan kunci pengurutan yang disisipkan dan KUNCI DISTSTYLE menjadi kunci pengurutan majemuk. Namun, tabel dengan hanya kunci pengurutan yang disisipkan tetap tidak berubah. Untuk informasi selengkapnya tentang gaya distribusi, lihat Bekerja dengan gaya distribusi data.
INDEKS ULANG VAKUM
Saat Anda menambahkan baris ke tabel yang diurutkan yang sudah berisi data, kinerja mungkin memburuk seiring waktu. Kerusakan ini terjadi untuk jenis majemuk dan yang disisipkan, tetapi memiliki efek yang lebih besar pada tabel yang disisipkan. VACUUM mengembalikan urutan pengurutan, tetapi operasi dapat memakan waktu lebih lama untuk tabel yang disisipkan karena menggabungkan data interleaved baru mungkin melibatkan modifikasi setiap blok data.
Saat tabel dimuat pada awalnya, Amazon Redshift menganalisis distribusi nilai dalam kolom kunci pengurutan dan menggunakan informasi tersebut untuk penyisipan optimal kolom kunci pengurutan. Seiring bertambahnya tabel, distribusi nilai dalam kolom kunci pengurutan dapat berubah, atau miring, terutama dengan kolom tanggal atau stempel waktu. Jika kemiringan menjadi terlalu besar, kinerja mungkin terpengaruh. Untuk menganalisis ulang kunci pengurutan dan mengembalikan kinerja, jalankan perintah VACUUM dengan kata kunci REINDEX. Karena harus membutuhkan analisis ekstra untuk melewati data, VACUUM REINDEX dapat memakan waktu lebih lama daripada VACUUM standar untuk tabel yang disisipkan. Untuk melihat informasi tentang kemiringan distribusi kunci dan waktu indeks ulang terakhir, kueri tampilan SVV_KOLUMN_INTERLEAVED_ sistem.
Untuk informasi selengkapnya tentang cara menentukan seberapa sering menjalankan VACUUM dan kapan menjalankan VACUUM REINDEX, lihatPutuskan apakah akan mengindeks ulang.