

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# Sortir kunci
<a name="t_Sorting_data"></a>

**catatan**  
Kami menyarankan Anda membuat tabel Anda dengan`SORTKEY AUTO`. Jika Anda melakukannya, Amazon Redshift menggunakan optimasi tabel otomatis untuk memilih tombol sortir. Untuk informasi selengkapnya, lihat [Optimalisasi tabel otomatis](t_Creating_tables.md). Sisa bagian ini memberikan rincian tentang urutan pengurutan. 

Saat Anda membuat tabel, Anda dapat mendefinisikan satu atau lebih kolomnya sebagai *kunci pengurutan*. Ketika data awalnya dimuat ke dalam tabel kosong, baris disimpan pada disk dalam urutan yang diurutkan. Informasi tentang kolom kunci sortir diteruskan ke perencana kueri, dan perencana menggunakan informasi ini untuk membuat rencana yang mengeksploitasi cara data diurutkan. Untuk informasi selengkapnya, lihat [CREATE TABLE](r_CREATE_TABLE_NEW.md). Untuk informasi tentang praktik terbaik saat membuat kunci pengurutan, lihat[Pilih tombol sortir terbaik](c_best-practices-sort-key.md).

Penyortiran memungkinkan penanganan predikat terbatas rentang yang efisien. Amazon Redshift menyimpan data kolumnar dalam blok disk 1 MB. Nilai min dan max untuk setiap blok disimpan sebagai bagian dari metadata. Jika kueri menggunakan predikat yang dibatasi rentang, prosesor kueri dapat menggunakan nilai min dan maks untuk dengan cepat melewati sejumlah besar blok selama pemindaian tabel. Misalnya, tabel menyimpan lima tahun data yang diurutkan berdasarkan tanggal dan kueri menentukan rentang tanggal satu bulan. Dalam hal ini, Anda dapat menghapus hingga 98 persen blok disk dari pemindaian. Jika data tidak diurutkan, lebih banyak blok disk (mungkin semuanya) harus dipindai. 

Anda dapat menentukan kunci sortir majemuk atau interleaved. Kunci sortir majemuk lebih efisien ketika predikat kueri menggunakan *awalan*, yang merupakan bagian dari kolom kunci pengurutan secara berurutan. Kunci sortir yang disisipkan memberikan bobot yang sama untuk setiap kolom dalam kunci pengurutan, sehingga predikat kueri dapat menggunakan subset kolom apa pun yang membentuk kunci pengurutan, dalam urutan apa pun. 

Untuk memahami dampak kunci sortir yang dipilih pada kinerja kueri, gunakan [EXPLAIN](r_EXPLAIN.md) perintah. Untuk informasi selengkapnya, lihat [Perencanaan kueri dan alur kerja eksekusi](c-query-planning.md). 

Untuk menentukan jenis pengurutan, gunakan kata kunci INTERLEAVED atau COMPOUND dengan pernyataan CREATE TABLE atau CREATE TABLE AS. Defaultnya adalah COMPOUND. COMPOUND direkomendasikan ketika Anda memperbarui tabel Anda secara teratur dengan operasi INSERT, UPDATE, atau DELETE. Kunci sortir INTERLEAVED dapat menggunakan maksimal delapan kolom. Bergantung pada data dan ukuran cluster Anda, VACUUM REINDEX membutuhkan waktu yang jauh lebih lama daripada VACUUM FULL karena membuat pass tambahan untuk menganalisis kunci sortir yang disisipkan. Operasi pengurutan dan penggabungan dapat memakan waktu lebih lama untuk tabel yang disisipkan karena pengurutan yang disisipkan mungkin harus mengatur ulang lebih banyak baris daripada pengurutan majemuk.

Untuk melihat tombol pengurutan untuk tabel, kueri tampilan [SVV\$1TABLE\$1INFO](r_SVV_TABLE_INFO.md) sistem.

**Topics**
+ [Penyortiran tata letak data multidimensi](t_Sorting_mutidimensional-sort-key.md)
+ [Kunci sortir majemuk](t_Sorting_data-compound.md)
+ [Kunci pengurutan disisipkan](t_Sorting_data-interleaved.md)

# Penyortiran tata letak data multidimensi
<a name="t_Sorting_mutidimensional-sort-key"></a>

Kunci pengurutan tata letak data multidimensi adalah jenis kunci pengurutan AUTO yang didasarkan pada predikat berulang yang ditemukan dalam beban kerja. Jika beban kerja Anda memiliki predikat berulang, Amazon Redshift dapat meningkatkan kinerja pemindaian tabel dengan mengkolokasi baris data yang memenuhi predikat berulang. Alih-alih menyimpan data tabel dalam urutan kolom yang ketat, kunci pengurutan tata letak data multidimensi menyimpan data dengan menganalisis predikat berulang yang muncul dalam beban kerja. Lebih dari satu predikat berulang dapat ditemukan dalam beban kerja. Bergantung pada beban kerja Anda, jenis kunci semacam ini dapat meningkatkan kinerja banyak predikat. Amazon Redshift secara otomatis menentukan apakah metode kunci sortir ini harus digunakan untuk tabel yang didefinisikan dengan kunci `AUTO` pengurutan.

Misalnya, Anda memiliki tabel yang memiliki data diurutkan dalam urutan kolom. Banyak blok data mungkin perlu diperiksa untuk menentukan apakah mereka memenuhi predikat dalam beban kerja Anda. Tetapi, jika data disimpan pada disk dalam urutan predikat, maka lebih sedikit blok yang perlu dipindai untuk memenuhi kueri. Menggunakan kunci pengurutan tata letak data multidimensi bermanfaat dalam kasus ini.

Untuk melihat apakah kueri menggunakan kunci tata letak data multidimensi, lihat `step_attribute` kolom [SYS\$1QUERY\$1DETAIL](SYS_QUERY_DETAIL.md) tampilan. Ketika nilainya `multi-dimensional` maka tata letak data multidimensi digunakan untuk kueri.

Untuk mencegah Amazon Redshift menggunakan kunci pengurutan tata letak data multidimensi, pilih opsi tombol sortir tabel yang berbeda selain. `SORTKEY AUTO` Untuk informasi selengkapnya tentang opsi SORTKEY, lihat. [CREATE TABLE](r_CREATE_TABLE_NEW.md)

# Kunci sortir majemuk
<a name="t_Sorting_data-compound"></a>

 Kunci majemuk terdiri dari semua kolom yang tercantum dalam definisi kunci sortir, dalam urutan mereka terdaftar. Kunci sortir majemuk paling berguna ketika filter kueri menerapkan kondisi, seperti filter dan gabungan, yang menggunakan awalan kunci pengurutan. Manfaat kinerja penyortiran majemuk berkurang ketika kueri hanya bergantung pada kolom pengurutan sekunder, tanpa mereferensikan kolom utama. COMPOUND adalah tipe pengurutan default.

Tombol sortir majemuk dapat mempercepat operasi gabungan, GROUP BY dan ORDER BY, dan fungsi jendela yang menggunakan PARTITION BY dan ORDER BY. Misalnya, gabungan gabungan, yang seringkali lebih cepat daripada gabungan hash, layak dilakukan ketika data didistribusikan dan di-presorting pada kolom penggabungan. Tombol sortir majemuk juga membantu meningkatkan kompresi. 

Saat Anda menambahkan baris ke tabel yang diurutkan yang sudah berisi data, wilayah yang tidak disortir akan bertambah, yang memiliki efek signifikan pada kinerja. Efeknya lebih besar ketika tabel menggunakan penyortiran interleaved, terutama ketika kolom pengurutan menyertakan data yang meningkat secara monoton, seperti kolom tanggal atau stempel waktu. Jalankan operasi VACUUM secara teratur, terutama setelah pemuatan data yang besar, untuk mengurutkan ulang dan menganalisis ulang data. Untuk informasi selengkapnya, lihat [Kurangi ukuran wilayah yang tidak disortir](vacuum-managing-vacuum-times.md#r_vacuum_diskspacereqs). Setelah menyedot debu untuk menggunakan data, adalah praktik yang baik untuk menjalankan perintah ANALYZE untuk memperbarui metadata statistik untuk perencana kueri. Untuk informasi selengkapnya, lihat [Menganalisis tabel](t_Analyzing_tables.md).

# Kunci pengurutan disisipkan
<a name="t_Sorting_data-interleaved"></a>

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 kunci 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 di klausa WHERE, 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\$1BLOCKLIST](r_STV_BLOCKLIST.md) 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 tombol 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](https://docs.aws.amazon.com//redshift/latest/dg/t_Distributing_data.html). 
<a name="t_Sorting_data-interleaved-reindex"></a>
**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 interleaved, tetapi memiliki efek yang lebih besar pada tabel yang disisipkan. VACUUM mengembalikan urutan pengurutan, tetapi operasi dapat memakan waktu lebih lama untuk tabel interleaved karena menggabungkan data interleaved baru mungkin melibatkan modifikasi 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 perintah VACUUM dengan kata kunci REINDEX. Karena harus mengambil analisis ekstra melewati data, VACUUM REINDEX dapat memakan waktu lebih lama dari VACUUM standar untuk tabel interleaved. Untuk melihat informasi tentang kemiringan distribusi kunci dan waktu indeks ulang terakhir, kueri tampilan sistem. [SVV\$1INTERLEAVED\$1COLUMNS](r_SVV_INTERLEAVED_COLUMNS.md)

Untuk informasi lebih lanjut tentang cara menentukan seberapa sering menjalankan VACUUM dan kapan menjalankan VACUUM REINDEX, lihat[Putuskan apakah akan mengindeks ulang](vacuum-managing-vacuum-times.md#r_vacuum-decide-whether-to-reindex). 