Antrian kueri WLM melompat - Amazon Redshift

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

Antrian kueri WLM melompat

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 (UDF) 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 ANALYSIS dan VACUUM

  • 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 (UDF)

Batas waktu WLM 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 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 (UDF) 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.