Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Antrian kueri WLM melompat
Dengan Amazon Redshift, Anda dapat mengelola konkurensi beban kerja dan alokasi sumber daya dengan mengaktifkan lompatan antrian kueri WLM (Manajemen Beban Kerja). Fitur ini memungkinkan kueri untuk sementara “melompat” dari antrian yang ditetapkan ke antrian prioritas yang lebih tinggi ketika sumber daya tersedia, meningkatkan kinerja kueri secara keseluruhan dan pemanfaatan sistem. Bagian berikut memberikan panduan terperinci tentang mengonfigurasi dan memanfaatkan lompatan antrian kueri WLM di Amazon Redshift.
Kueri dapat dilewati karena batas waktu WLM atau tindakan hop Query Monitoring Rule (QMR). Anda hanya dapat melompati kueri dalam konfigurasi WLM manual.
Saat kueri di-hop, WLM mencoba merutekan kueri ke antrian pencocokan berikutnya berdasarkan aturan penetapan antrian WLM. Jika kueri tidak cocok dengan definisi antrian lainnya, kueri dibatalkan. Itu tidak ditetapkan ke antrian default.
Tindakan batas waktu WLM
Tabel berikut merangkum perilaku berbagai jenis kueri dengan batas waktu WLM.
Jenis kueri | Tindakan |
---|---|
INSERT, UPDATE, dan DELETE | Batalkan |
Fungsi yang ditentukan pengguna () UDFs | Batalkan |
MEMBONGKAR | Batalkan |
MENYONTEK | Lanjutkan eksekusi |
Operasi pemeliharaan | Lanjutkan eksekusi |
Kueri hanya-baca dalam suatu keadaan returning |
Lanjutkan eksekusi |
Kueri hanya-baca dalam suatu keadaan running |
Tetapkan kembali atau mulai ulang |
BUAT TABEL SEBAGAI (CTAS), PILIH KE | Tetapkan kembali atau mulai ulang |
Antrian batas waktu WLM melompat
WLM melompati jenis kueri berikut saat waktunya habis:
-
Kueri hanya-baca, seperti pernyataan SELECT, yang berada dalam status WLM.
running
Untuk menemukan status WLM dari kueri, lihat kolom STATE pada tabel STV_WLM_QUERY_STATE sistem. -
CREATE TABLE AS (CTAS) pernyataan. WLM queue hopping mendukung pernyataan CTAS yang ditentukan pengguna dan yang dihasilkan sistem.
-
SELECT INTO pernyataan.
Kueri yang tidak tunduk pada batas waktu WLM terus berjalan di antrean asli hingga selesai. Jenis kueri berikut tidak tunduk pada batas waktu WLM:
-
pernyataan COPY
-
Operasi pemeliharaan, seperti ANALISIS dan VAKUM
-
Kueri hanya-baca, seperti pernyataan SELECT, yang telah mencapai status WLM.
returning
Untuk menemukan status WLM dari kueri, lihat kolom STATE pada tabel STV_WLM_QUERY_STATE sistem.
Kueri yang tidak memenuhi syarat untuk melewati batas waktu WLM dibatalkan saat waktu habis. Jenis kueri berikut ini tidak memenuhi syarat untuk melewati batas waktu WLM:
-
INSERT, UPDATE, dan DELETE pernyataan
-
Pernyataan BONGKAR
-
Fungsi yang ditentukan pengguna () UDFs
Batas waktu WLM dipindahkan dan memulai ulang kueri
Ketika kueri dilompat dan tidak ada antrian yang cocok ditemukan, kueri dibatalkan.
Saat kueri dilompat dan antrian yang cocok ditemukan, WLM mencoba menetapkan ulang kueri ke antrian baru. Jika kueri tidak dapat ditetapkan kembali, kueri akan dimulai ulang dalam antrian baru, seperti yang dijelaskan berikut.
Kueri ditugaskan kembali hanya jika semua hal berikut benar:
-
Antrian yang cocok ditemukan.
-
Antrian baru memiliki slot gratis yang cukup untuk menjalankan kueri. Kueri mungkin memerlukan beberapa slot jika wlm_query_slot_count parameter disetel ke nilai yang lebih besar dari 1.
-
Antrian baru memiliki setidaknya memori sebanyak yang tersedia seperti yang digunakan kueri saat ini.
Jika kueri dipindahkan, kueri terus dijalankan dalam antrian baru. Hasil antara dipertahankan, sehingga ada efek minimal pada total waktu eksekusi.
Jika kueri tidak dapat ditetapkan kembali, kueri dibatalkan dan dimulai ulang dalam antrian baru. Hasil menengah dihapus. Kueri menunggu dalam antrian, kemudian mulai berjalan ketika slot yang cukup tersedia.
Tindakan hop QMR
Tabel berikut merangkum perilaku berbagai jenis kueri dengan tindakan hop QMR.
Jenis kueri | Tindakan |
---|---|
MENYONTEK | Lanjutkan eksekusi |
Operasi pemeliharaan | Lanjutkan eksekusi |
Fungsi yang ditentukan pengguna () UDFs | Lanjutkan eksekusi |
MEMBONGKAR | Tetapkan kembali atau lanjutkan eksekusi |
INSERT, UPDATE, dan DELETE | Tetapkan kembali atau lanjutkan eksekusi |
Kueri hanya-baca dalam suatu keadaan returning |
Tetapkan kembali atau lanjutkan eksekusi |
Kueri hanya-baca dalam suatu keadaan running |
Tetapkan kembali atau mulai ulang |
BUAT TABEL SEBAGAI (CTAS), PILIH KE | Tetapkan kembali atau mulai ulang |
Untuk mengetahui apakah kueri yang di-hop oleh QMR telah ditetapkan kembali, dimulai ulang, atau dibatalkan, kueri tabel log sistem. STL_WLM_RULE_ACTION
Tindakan hop QMR ditugaskan kembali dan memulai ulang kueri
Ketika kueri dilompat dan tidak ada antrian yang cocok ditemukan, kueri dibatalkan.
Saat kueri dilompat dan antrian yang cocok ditemukan, WLM mencoba menetapkan ulang kueri ke antrian baru. Jika kueri tidak dapat ditetapkan ulang, kueri akan dimulai ulang dalam antrian baru atau melanjutkan eksekusi dalam antrian asli, seperti yang dijelaskan berikut.
Kueri ditugaskan kembali hanya jika semua hal berikut benar:
-
Antrian yang cocok ditemukan.
-
Antrian baru memiliki slot gratis yang cukup untuk menjalankan kueri. Kueri mungkin memerlukan beberapa slot jika wlm_query_slot_count parameter disetel ke nilai yang lebih besar dari 1.
-
Antrian baru memiliki setidaknya memori sebanyak yang tersedia seperti yang digunakan kueri saat ini.
Jika kueri dipindahkan, kueri terus dijalankan dalam antrian baru. Hasil antara dipertahankan, sehingga ada efek minimal pada total waktu eksekusi.
Jika kueri tidak dapat ditetapkan ulang, kueri akan dimulai ulang atau melanjutkan eksekusi dalam antrian asli. Jika kueri dimulai ulang, kueri dibatalkan dan dimulai ulang dalam antrian baru. Hasil menengah dihapus. Kueri menunggu dalam antrian, kemudian memulai eksekusi ketika slot yang cukup tersedia.