Hologres versi V3.0 dan yang lebih baru mendukung fitur Query Queue, yang memungkinkan pemrosesan permintaan secara terurut, load balancing, serta manajemen sumber daya. Dalam kondisi konkurensi tinggi, fitur ini menjamin stabilitas sistem dan efisiensi respons.
Pengenalan Fungsi
Secara default, permintaan yang dikirim ke suatu instans tidak memiliki kontrol konkurensi. Coordinator mesin langsung mengalokasikan sumber daya dan mengeksekusinya segera. Ketika fitur Query Queue diaktifkan, Hologres mencocokkan permintaan SQL masuk dengan aturan klasifikasi yang telah dikonfigurasi dan mengarahkannya ke antrian kueri yang sesuai. Setiap antrian kueri mendukung batas maksimum konkurensi. Jika batas tersebut tercapai, permintaan baru akan menunggu dalam antrian hingga sumber daya komputasi tersedia.

Catatan
-
Query Queue dan pengaturan optimizer diterapkan pada level instans untuk instans tujuan umum dan pada level kelompok komputasi untuk instans kelompok komputasi. Jika suatu instans berisi beberapa database, pengaturan ini berlaku untuk semuanya.
-
Hanya instans General-purpose dan instans Virtual Warehouse Hologres versi V3.0 dan yang lebih baru yang mendukung fitur query queue.
CatatanJika instans Anda menjalankan versi sebelum V3.0, Anda dapat meng-upgrade instans Anda atau bergabung dengan grup dukungan DingTalk Hologres untuk meminta peningkatan. Untuk informasi lebih lanjut tentang cara bergabung dengan grup dukungan online DingTalk, lihat Bagaimana cara mendapatkan dukungan online lebih lanjut?.
-
Pada Hologres versi V3.0.10 dan yang lebih baru, Anda dapat mengonfigurasi query queue agar menjalankan semua kueri SQL-nya menggunakan sumber daya Serverless Computing. Batas konkurensi dan mekanisme antrian hanya berlaku untuk sumber daya lokal. Kueri yang menggunakan Serverless Computing tidak terpengaruh oleh pengaturan ini.
-
Setiap instans General-purpose dan setiap kelompok komputasi dalam instans Virtual Warehouse memiliki query queue default bernama
default_queue. Antrian ini tidak memiliki batasan jumlah maksimum kueri konkuren atau ukuran maksimum antrian.-
default_queuetidak mendukung classifier. Anda hanya dapat mengonfigurasi propertinya. -
default_queuemenangani semua permintaan yang tidak sesuai dengan query queue lainnya.
-
-
Setiap instans General-purpose dan setiap kelompok komputasi dalam instans Virtual Warehouse mendukung maksimal 10 query queue, termasuk
default_queue. Setiap query queue mendukung maksimal 10 classifier. -
Anda tidak dapat mengaktifkan fitur Query Queue secara independen pada instans replika read-only. Instans replika read-only mewarisi aturan query queue dari instans utama.
-
Hanya kueri dengan engine_type
HQE,PQE,SQE, atauHiveQEyang dapat dicocokkan ke query queue. Jenis kueri yang didukung meliputi pernyataan SELECT, INSERT, UPDATE, dan DELETE, serta pernyataan INSERT yang dihasilkan oleh perintah COPY atau CTAS. -
Kueri yang menggunakan Fixed Plan melewati query queue dan tidak tunduk pada kontrol konkurensi atau antrian. Untuk informasi lebih lanjut, lihat Mempercepat eksekusi SQL dengan Fixed Plan.
-
Sebuah classifier hanya dimiliki oleh satu query queue, tetapi satu query queue dapat memiliki beberapa classifier.
Prosedur
Buat Antrian kueri
-
Sintaks
-
Instans General-purpose
CALL hg_create_query_queue (query_queue_name, max_concurrency, max_queue_size); -
Instans Virtual Warehouse
CALL hg_create_query_queue (warehouse_name, query_queue_name, max_concurrency, max_queue_size);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, query queue dibuat di kelompok komputasi tempat Anda saat ini terhubung.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue. Nama harus unik dalam instans atau kelompok komputasi.
-
max_concurrency: Opsional. Jumlah maksimum kueri konkuren. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647).
-
max_queue_size: Opsional. Jumlah maksimum kueri SQL dalam antrian. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647).
CatatanSaat membuat query queue, Anda hanya dapat mengonfigurasi properti max_concurrency dan max_queue_size. Untuk mengonfigurasi properti lainnya, lihat Konfigurasi properti query queue.
-
-
Contoh
-
Instans General-purpose
-- Buat query queue bernama insert_queue dengan konkurensi maksimum 10. Jangan tambahkan tanda kutip tunggal di sekitar nilai konkurensi. CALL hg_create_query_queue ('insert_queue', 10); -
Instans Virtual Warehouse
-- Di kelompok komputasi init_warehouse, buat query queue bernama insert_queue dengan konkurensi maksimum 10. CALL hg_create_query_queue ('init_warehouse', 'insert_queue', 10);
-
Buat pengklasifikasi
-
Sintaks
-
Instans General-purpose
CALL hg_create_classifier (query_queue_name, classifier_name, priority); -
Instans Virtual Warehouse
CALL hg_create_classifier (warehouse_name, query_queue_name, classifier_name, priority);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue tempat classifier tersebut berada.
-
classifier_name: Wajib. Nama classifier. Nama harus unik dalam instans atau kelompok komputasi.
-
priority: Opsional. Prioritas pencocokan. Nilai yang lebih besar menunjukkan prioritas yang lebih tinggi. Nilai default adalah 50. Nilai harus berada dalam rentang [1, 100]. Jika Anda tidak menentukan parameter ini saat membuat classifier, Anda dapat mengonfigurasinya nanti. Untuk informasi lebih lanjut, lihat Konfigurasi properti classifier.
Catatan-
Classifier dengan nilai prioritas lebih tinggi dicocokkan terlebih dahulu.
-
Jika beberapa classifier memiliki prioritas yang sama, pencocokan dilakukan berdasarkan urutan leksikografis nama query queue dan nama classifier. Misalnya, kueri dicocokkan ke queue_a(classifier_1) sebelum dicocokkan ke queue_b(classifier_1).
-
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, buat classifier bernama classifier_insert dengan prioritas 20. Jangan tambahkan tanda kutip tunggal di sekitar nilai prioritas. CALL hg_create_classifier ('insert_queue', 'classifier_insert', 20); -
Instans Virtual Warehouse
-- Di insert_queue kelompok komputasi init_warehouse, buat classifier bernama classifier_insert dengan prioritas 20. CALL hg_create_classifier ('init_warehouse', 'insert_queue', 'classifier_insert', 20);
-
Konfigurasi aturan pencocokan classifier
Dalam fitur Query Queue, Anda dapat mengonfigurasi aturan pencocokan untuk classifier guna mengarahkan kueri SQL ke antrian yang sesuai.
-
Sintaks
-
Instans General-purpose
CALL hg_set_classifier_rule_condition_value (query_queue_name, classifier_name, condition_name, condition_value); -
Instans Virtual Warehouse
CALL hg_set_classifier_rule_condition_value (warehouse_name, query_queue_name, classifier_name, condition_name, condition_value);
-
-
Parameter
Nama
Deskripsi
warehouse_name
Opsional. Nama kelompok komputasi. Jika diabaikan, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
query_queue_name
Wajib. Nama query queue.
classifier_name
Wajib. Nama classifier yang akan dikonfigurasi.
condition_name dan condition_value
Wajib. Atribut kondisi yang didukung:
user_name: UID akun saat ini.
-
command_tag: Jenis permintaan. Nilai: INSERT, SELECT, UPDATE, DELETE.
Hologres mengimplementasikan operasi COPY menggunakan INSERT untuk efisiensi yang lebih baik. Oleh karena itu, membatasi konkurensi INSERT juga memengaruhi konkurensi penulisan COPY.
db_name: Nama database.
-
engine_type: Mesin kueri. Nilai: HQE, PQE, SQE, HiveQE. Direkomendasikan untuk Hologres V3.1.18 dan yang lebih baru.
-
digest: Sidik jari SQL. Untuk detailnya, lihat Sidik jari SQL.
-
application_name: Aplikasi yang memulai kueri. Didukung di V3.0.9 dan yang lebih baru.
-
storage_mode: Mode penyimpanan. Nilai: hot, cold. Direkomendasikan untuk Hologres V3.1.18 atau V3.1.8 dan yang lebih baru.
-
write_table: Tabel yang ditulis oleh kueri. Format:
<db_name>.<schema_name>.<table_name>. Didukung di V3.1 dan yang lebih baru. -
read_table: Tabel yang dibaca oleh kueri. Didukung di V3.1 dan yang lebih baru.
Sebuah classifier dapat memiliki beberapa atribut, dan setiap atribut dapat memiliki beberapa aturan pencocokan. Pada Hologres versi V3.1.18 dan yang lebih baru, hubungan antara atribut dan aturan adalah sebagai berikut:
-
Jika sebuah classifier memiliki aturan untuk beberapa atribut:
-
Aturan untuk atribut yang berbeda memiliki hubungan AND. Misalnya, jika classifier memiliki aturan untuk atribut user_name dan command_tag, kueri harus memenuhi kedua aturan tersebut agar ditugaskan ke classifier ini.
-
Untuk mendefinisikan hubungan OR antar atribut—di mana kueri dicocokkan jika memenuhi salah satu kondisi—Anda dapat membuat beberapa classifier dan menetapkannya ke query queue yang sama.
-
-
Dalam satu classifier, aturan pencocokan untuk properti yang sama memiliki tiga jenis hubungan berikut:
-
user_name/command_tag/db_name/digest/application_name:
-
Nilai yang dikonfigurasi membentuk himpunan bernama set_a.
-
Nilai atribut kueri membentuk himpunan bernama set_b, yang berisi satu nilai.
-
Kueri dicocokkan jika
set_b ⊆ set_a.
-
-
storage_mode:
-
Untuk properti yang sama (saat ini terbatas pada storage_mode), set_a adalah kumpulan nilai yang dikonfigurasi dalam aturan pencocokan.
-
Kumpulan properti yang sesuai untuk Kueri adalah set_b, yang menerima nilai 'hot', 'cold', atau 'hot, cold'.
-
Kueri dicocokkan hanya jika
set_a == set_b.
-
-
engine_type/write_table/read_table:
-
Nilai yang dikonfigurasi membentuk himpunan bernama set_a.
-
Tabel yang terlibat dalam kueri membentuk himpunan bernama set_b, yang dapat berisi sejumlah tabel apa pun.
-
Kueri dicocokkan jika
(set_a ∩ set_b) != ∅.
-
-
Catatan-
Anda hanya dapat mengonfigurasi satu atribut kondisi dalam satu waktu. Jika nilai kondisi bersifat case-sensitive, sertakan dalam tanda kutip ganda ("").
-
Untuk mencocokkan beberapa nilai untuk atribut kondisi yang sama, panggil prosedur tersebut beberapa kali. Misalnya, untuk mencocokkan SELECT dan INSERT untuk command_tag, jalankan dua pernyataan terpisah.
-
Contoh
Contoh ini membuat query queue `test_queue` untuk kelompok komputasi default `init_warehouse` menggunakan instans kelompok komputasi. Untuk instans tujuan umum, abaikan parameter input pertama.
CALL hg_create_query_queue ('init_warehouse', 'test_queue');-
Contoh 1: Tetapkan kueri yang diprakarsai oleh pengguna p4_123 atau p4_456, atau kueri yang sidik jarinya xxx atau yyy ke test_queue.
-- Untuk mendefinisikan hubungan OR antara atribut user dan digest, buat dua classifier. -- Buat classifier_user dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_user'); -- Tetapkan aturan pencocokan berbasis pengguna untuk pengguna "p4_123" atau "p4_456" CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_user', 'user_name', 'p4_123'); CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_user', 'user_name', 'p4_456'); -- Buat classifier_digest dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_digest'); -- Tetapkan aturan pencocokan berbasis sidik jari untuk sidik jari "xxx" atau "yyy" CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_digest', 'digest', 'xxx'); CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_digest', 'digest', 'yyy'); -
Contoh 2: Tetapkan kueri yang diprakarsai oleh aplikasi xx_bi dan mengakses penyimpanan hot dan cold ke test_queue.
-- Untuk mendefinisikan hubungan AND antara aplikasi dan mode penyimpanan, konfigurasi kedua atribut dalam satu classifier. -- Buat classifier_3 dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_3'); -- Tetapkan aturan pencocokan berbasis aplikasi CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_3', 'application_name', 'xx_bi'); -- Tetapkan aturan mode penyimpanan. Kedua "hot" dan "cold" harus diatur agar kueri hanya cocok jika mengakses keduanya. CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_3', 'storage_mode', 'hot'); CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_3', 'storage_mode', 'cold'); -
Contoh 3: Tetapkan semua kueri yang mengakses penyimpanan dingin ke test_queue.
-- Karena storage_mode memerlukan pencocokan eksak, pisahkan "mengakses penyimpanan dingin" menjadi dua kasus. -- Buat classifier_cold_1 dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_cold_1'); -- Kueri dengan storage_mode = cold masuk ke sini CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_cold_1', 'storage_mode', 'cold'); -- Buat classifier_cold_2 dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_cold_2'); -- Kueri dengan storage_mode = hot,cold masuk ke sini CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_cold_2', 'storage_mode', 'hot'); CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_cold_2', 'storage_mode', 'cold'); -
Contoh 4: Tetapkan kueri yang membaca data dari tabel a dan menulis data ke tabel b ke test_queue.
-- Untuk mendefinisikan hubungan AND antara read_table dan write_table, konfigurasi keduanya dalam satu classifier. -- Buat classifier_table dan ikat ke test_queue CALL hg_create_classifier ('init_warehouse', 'test_queue', 'classifier_table'); -- Tetapkan aturan read_table. Kueri yang membaca tabel a cocok, terlepas dari tabel lain yang dibaca. CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_table', 'read_table', 'db_name.schema_name.a'); -- Tetapkan aturan write_table. Kueri yang menulis ke tabel b cocok. CALL hg_set_classifier_rule_condition_value ('init_warehouse','test_queue', 'classifier_table', 'write_table', 'db_name.schema_name.b');
-
Operasi tambahan
Kontrol kueri besar
Untuk membatasi dampak kueri besar, Anda dapat menggunakan fitur Query Queue untuk mengelola waktu eksekusi dan kondisi kehabisan memori (OOM). Untuk kueri yang melebihi ambang batas yang dikonfigurasi, Anda dapat menghentikan tugas tersebut atau menjalankannya ulang menggunakan sumber daya Serverless Computing.
-
Hologres V3.0 hanya mendukung menjalankan ulang kueri SELECT. Jika Anda menggunakan FETCH untuk mengambil data, kueri hanya dijalankan ulang jika operasi FETCH tidak mengembalikan data. Hal ini menjamin akurasi hasil.
-
Eksekusi kueri mencakup tiga fase: optimization_cost (menghasilkan rencana eksekusi), start_query_cost (startup kueri), dan get_next_cost (eksekusi kueri). Untuk informasi lebih lanjut, lihat Lihat dan analisis log kueri lambat. Kontrol kueri besar pada fitur Query Queue hanya mempertimbangkan fase get_next_cost. Waktu tunggu antrian dan waktu tunggu lock tidak termasuk.
-
Kontrol waktu eksekusi
Anda dapat mengatur parameter big_query_execution_time_threshold_sec. Satuannya adalah detik. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647). Contoh berikut menunjukkan cara mengontrol waktu eksekusi:
-
Skenario 1: Hentikan kueri yang berjalan lama
Kueri dalam select_queue berjalan pada sumber daya lokal. Jika waktu eksekusi kueri melebihi 10 detik, kueri tersebut dihentikan.
CALL hg_set_query_queue_property ('select_queue', 'big_query_execution_time_threshold_sec', '10'); -
Skenario 2: Jalankan ulang kueri yang berjalan lama
Kueri dalam select_queue berjalan pada sumber daya lokal. Jika waktu eksekusi kueri melebihi 10 detik, kueri tersebut dihentikan lalu dijalankan ulang menggunakan Serverless Computing.
CALL hg_set_query_queue_property ('select_queue', 'big_query_execution_time_threshold_sec', '10'); CALL hg_set_query_queue_property ('select_queue', 'enable_rerun_as_big_query_when_exceeded_execution_time_threshold', 'true'); CALL hg_set_query_queue_property ('select_queue', 'rerun_big_query_on_computing_resource', 'serverless');Catatan-
enable_rerun_as_big_query_when_exceeded_execution_time_threshold: Menentukan apakah kueri dijalankan ulang menggunakan sumber daya lain setelah dihentikan karena timeout. Nilai default adalah false.
-
rerun_big_query_on_computing_resource: Nama sumber daya Serverless Computing yang digunakan untuk menjalankan ulang kueri.
-
-
-
Jalankan ulang berdasarkan OOM
Kueri dalam select_queue berjalan pada sumber daya lokal. Jika kueri memicu error OOM dan menggunakan lebih dari 10 GB memori pada satu node pekerja, kueri tersebut dijalankan ulang menggunakan Serverless Computing. Parameter big_query_mem_threshold_when_oom_gb menetapkan ambang batas memori OOM. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 64). Contoh berikut menunjukkan cara menjalankan ulang kueri berdasarkan error OOM:
CALL hg_set_query_queue_property ('select_queue', 'big_query_mem_threshold_when_oom_gb', '10'); CALL hg_set_query_queue_property ('select_queue', 'enable_rerun_as_big_query_when_oom_exceeded_mem_threshold', 'true'); CALL hg_set_query_queue_property ('select_queue', 'rerun_big_query_on_computing_resource', 'serverless');
Manajemen query queue
Hapus query queue
-
Sintaks
-
Instans General-purpose
CALL hg_drop_query_queue (query_queue_name); -
Instans Virtual Warehouse
CALL hg_drop_query_queue (warehouse_name, query_queue_name);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
Contoh
-
Instans General-purpose
-- Hapus query queue insert_queue CALL hg_drop_query_queue ('insert_queue'); -
Instans Virtual Warehouse
-- Di kelompok komputasi init_warehouse, hapus query queue insert_queue CALL hg_drop_query_queue ('init_warehouse', 'insert_queue');
Hapus properti query queue
-
Sintaks
-
Instans General-purpose
CALL hg_remove_query_queue_property (query_queue_name, property_key); -
Instans Virtual Warehouse
CALL hg_remove_query_queue_property (warehouse_name, query_queue_name, property_key);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
property_key: Wajib. Nama properti. Nilai yang valid: max_concurrency, max_queue_size, dan queue_timeout_ms. Untuk informasi lebih lanjut, lihat Konfigurasi properti query queue.
-
-
Contoh
-
Instans General-purpose
-- Hapus properti max_concurrency dari insert_queue CALL hg_remove_query_queue_property('insert_queue', 'max_concurrency'); -- Hapus properti max_queue_size dari insert_queue CALL hg_remove_query_queue_property('insert_queue', 'max_queue_size'); -- Hapus properti queue_timeout_ms dari insert_queue CALL hg_remove_query_queue_property('insert_queue', 'queue_timeout_ms'); -
Instans Virtual Warehouse
-- Di kelompok komputasi init_warehouse, hapus properti max_concurrency dari insert_queue CALL hg_remove_query_queue_property('init_warehouse', 'insert_queue', 'max_concurrency'); -- Di kelompok komputasi init_warehouse, hapus pengaturan max_queue_size dari insert_queue CALL hg_remove_query_queue_property('init_warehouse', 'insert_queue', 'max_queue_size'); -- Di kelompok komputasi init_warehouse, hapus properti queue_timeout_ms dari insert_queue CALL hg_remove_query_queue_property('init_warehouse', 'insert_queue', 'queue_timeout_ms');
-
Lihat metadata query queue
Metadata query queue disimpan dalam tabel sistem hologres.hg_query_queues. Bidang utamanya dijelaskan dalam tabel berikut.
Nama bidang |
Tipe data |
Deskripsi |
warehouse_id |
INT |
ID kelompok komputasi. Catatan
Untuk instans General-purpose, warehouse_id bernilai 0. |
warehouse_name |
TEXT |
Nama kelompok komputasi. Catatan
Untuk instans General-purpose, warehouse_name kosong. |
query_queue_name |
TEXT |
Nama antrian. |
property_key | TEXT | Nama properti. |
property_value | TEXT | Nilai properti. |
Konfigurasi properti query queue
-
Sintaks
-
Instans General-purpose
CALL hg_set_query_queue_property (query_queue_name, property_key, property_value); -
Instans Virtual Warehouse
CALL hg_set_query_queue_property (warehouse_name, query_queue_name, property_key, property_value);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
property_key dan property_value: Wajib. Properti yang didukung dijelaskan sebagai berikut:
-
max_concurrency: Jumlah maksimum kueri konkuren. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647).
-
max_queue_size: Jumlah maksimum kueri SQL dalam antrian. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647).
-
queue_timeout_ms: Waktu tunggu antrian maksimum. Satuan: milidetik (ms). Kueri yang melebihi waktu ini dihentikan. Nilai default adalah -1, yang berarti tidak ada batas. Nilai harus berada dalam rentang [-1, 2147483647).
-
-
-
Contoh
-
Instans General-purpose
-- Atur max_concurrency insert_queue menjadi 15 CALL hg_set_query_queue_property('insert_queue', 'max_concurrency', '15'); -- Atur max_queue_size insert_queue menjadi 15 CALL hg_set_query_queue_property('insert_queue', 'max_queue_size', '15'); -- Atur queue_timeout_ms insert_queue menjadi 3000 ms CALL hg_set_query_queue_property('insert_queue', 'queue_timeout_ms', '3000'); -
Instans Virtual Warehouse
-- Di kelompok komputasi init_warehouse, atur max_concurrency insert_queue menjadi 15 CALL hg_set_query_queue_property('init_warehouse', 'insert_queue', 'max_concurrency', '15'); -- Di kelompok komputasi init_warehouse, atur max_queue_size insert_queue menjadi 15 CALL hg_set_query_queue_property('init_warehouse', 'insert_queue', 'max_queue_size', '15'); -- Di kelompok komputasi init_warehouse, atur queue_timeout_ms insert_queue menjadi 3000 ms CALL hg_set_query_queue_property('init_warehouse', 'insert_queue', 'queue_timeout_ms', '3000');
-
Bersihkan permintaan dalam antrian dari query queue
-
Sintaks
-
Instans General-purpose
CALL hg_clear_query_queue (query_queue_name); -
Instans Virtual Warehouse
CALL hg_clear_query_queue (warehouse_name, query_queue_name);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
-
Contoh
-
Instans General-purpose
-- Bersihkan semua permintaan dalam antrian di select_queue CALL hg_clear_query_queue ('select_queue'); -
Instans Virtual Warehouse
-- Bersihkan semua permintaan dalam antrian di select_queue di kelompok komputasi init_warehouse CALL hg_clear_query_queue ('init_warehouse', 'select_queue');
-
Manajemen Klasifikator
Hapus classifier
-
Sintaks
-
Instans General-purpose
CALL hg_drop_classifier (query_queue_name, classifier_name); -
Instans Virtual Warehouse
CALL hg_drop_classifier (warehouse_name, query_queue_name, classifier_name);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
classifier_name: Wajib. Nama classifier.
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, hapus classifier classifier_insert CALL hg_drop_classifier ('insert_queue', 'classifier_insert'); -
Instans Virtual Warehouse
-- Di insert_queue kelompok komputasi init_warehouse, hapus classifier classifier_insert CALL hg_drop_classifier ('init_warehouse', 'insert_queue', 'classifier_insert');
-
Hapus properti classifier
-
Sintaks
-
Instans General-purpose
CALL hg_remove_classifier_property (query_queue_name, classifier_name, property_key); -
Instans Virtual Warehouse
CALL hg_remove_classifier_property (warehouse_name, query_queue_name, classifier_name, property_key);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
classifier_name: Wajib. Nama classifier.
-
property_key: Wajib. Properti yang didukung adalah priority. Untuk informasi lebih lanjut, lihat Konfigurasi properti classifier.
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, hapus properti priority dari classifier_insert CALL hg_remove_classifier_property ('insert_queue', 'classifier_insert', 'priority'); -
Instans Virtual Warehouse
-- Di insert_queue kelompok komputasi init_warehouse, hapus properti priority dari classifier_insert CALL hg_remove_classifier_property ('init_warehouse', 'insert_queue', 'classifier_insert', 'priority');
-
Konfigurasi properti classifier
-
Sintaks
-
Instans General-purpose
CALL hg_set_classifier_property (query_queue_name, classifier_name, property_key, property_value); -
Instans Virtual Warehouse
CALL hg_set_classifier_property (warehouse_name, query_queue_name, classifier_name, property_key, property_value);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
classifier_name: Wajib. Nama classifier.
-
property_key dan property_value: Wajib. Properti yang didukung dijelaskan sebagai berikut:
priority: Prioritas pencocokan classifier. Nilai yang lebih besar menunjukkan prioritas yang lebih tinggi. Nilai default adalah 50. Nilai harus berada dalam rentang [1, 100].
Catatan-
Classifier dengan nilai prioritas lebih tinggi dicocokkan terlebih dahulu.
-
Jika beberapa classifier memiliki prioritas yang sama, pencocokan dilakukan berdasarkan urutan leksikografis nama query queue dan nama classifier. Misalnya, kueri dicocokkan ke queue_a(classifier_1) sebelum dicocokkan ke queue_b(classifier_1).
-
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, atur prioritas classifier_insert menjadi 30 CALL hg_set_classifier_property ('insert_queue', 'classifier_insert', 'priority', '30'); -
Instans Virtual Warehouse
-- Di insert_queue kelompok komputasi init_warehouse, atur prioritas classifier_insert menjadi 30 CALL hg_set_classifier_property ('init_warehouse', 'insert_queue', 'classifier_insert','priority', '30');
-
Hapus aturan pencocokan classifier
-
Hapus aturan pencocokan untuk atribut kondisi tertentu (condition_name) dalam classifier
-
Sintaks
-
Instans General-purpose
CALL hg_remove_classifier_rule_condition_value (query_queue_name, classifier_name, condition_name, condition_value); -
Instans Virtual Warehouse
CALL hg_remove_classifier_rule_condition_value (warehouse_name, query_queue_name, classifier_name, condition_name, condition_value);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
classifier_name: Wajib. Nama classifier.
-
condition_name dan condition_value: Wajib. Atribut kondisi dan nilainya yang ingin Anda hapus. Nilai yang valid untuk condition_name: user_name, command_tag, db_name, engine_type, digest, dan storage_mode. Untuk informasi lebih lanjut, lihat Konfigurasi aturan pencocokan classifier.
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, hapus aturan command_tag = INSERT dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'command_tag', 'INSERT'); -- Di insert_queue, hapus aturan user_name = p4_12345 dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'user_name', 'p4_12345'); -- Di insert_queue, hapus aturan db_name = prd_db dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'db_name', 'prd_db'); -- Di insert_queue, hapus aturan engine_type = HQE dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'engine_type', 'HQE'); -- Di insert_queue, hapus aturan digest = md5edb3161000a003799a5d3f2656b70b4c dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'digest', 'md5edb3161000a003799a5d3f2656b70b4c'); -- Di insert_queue, hapus aturan storage_mode = hot dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('insert_queue', 'classifier_insert', 'storage_mode', 'hot'); -
Instans Virtual Warehouse
-- Di insert_queue init_warehouse, hapus aturan command_tag = INSERT dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'command_tag', 'INSERT'); -- Di insert_queue init_warehouse, hapus aturan user_name = p4_12345 dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'user_name', 'p4_12345'); -- Di insert_queue init_warehouse, hapus aturan db_name = prd_db dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'db_name', 'prd_db'); -- Di insert_queue init_warehouse, hapus aturan engine_type = HQE dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'engine_type', 'HQE'); -- Di insert_queue init_warehouse, hapus aturan digest = md5edb3161000a003799a5d3f2656b70b4c dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'digest', 'md5edb3161000a003799a5d3f2656b70b4c'); -- Di insert_queue init_warehouse, hapus aturan storage_mode = hot dari classifier_insert CALL hg_remove_classifier_rule_condition_value ('init_warehouse', 'insert_queue', 'classifier_insert', 'storage_mode', 'hot');
-
-
-
Hapus semua aturan pencocokan untuk atribut kondisi tertentu (condition_name) dalam classifier
-
Sintaks
-
Instans General-purpose
CALL hg_remove_classifier_rule_condition (query_queue_name, classifier_name, condition_name); -
Instans Virtual Warehouse
CALL hg_remove_classifier_rule_condition (warehouse_name, query_queue_name, classifier_name, condition_name);
-
-
Parameter
-
warehouse_name: Opsional. Nama kelompok komputasi. Jika Anda tidak menentukan parameter ini, kelompok komputasi saat ini digunakan.
CatatanHanya instans Virtual Warehouse yang memerlukan parameter ini.
-
query_queue_name: Wajib. Nama query queue.
-
classifier_name: Wajib. Nama classifier.
-
condition_name: Wajib. Atribut kondisi yang aturannya ingin Anda hapus. Nilai yang valid: user_name, command_tag, db_name, engine_type, digest, dan storage_mode. Untuk informasi lebih lanjut, lihat Konfigurasi aturan pencocokan classifier.
-
-
Contoh
-
Instans General-purpose
-- Di insert_queue, hapus semua aturan command_tag dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'command_tag'); -- Di insert_queue, hapus semua aturan user_name dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'user_name'); -- Di insert_queue, hapus semua aturan db_name dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'db_name'); -- Di insert_queue, hapus semua aturan engine_type dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'engine_type'); -- Di insert_queue, hapus semua aturan digest dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'digest'); -- Di insert_queue, hapus semua aturan storage_mode dari classifier_insert CALL hg_remove_classifier_rule_condition ('insert_queue', 'classifier_insert', 'storage_mode'); -
Instans Virtual Warehouse
-- Di insert_queue init_warehouse, hapus semua aturan command_tag dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'command_tag'); -- Di insert_queue init_warehouse, hapus semua aturan user_name dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'user_name'); -- Di insert_queue init_warehouse, hapus semua aturan db_name dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'db_name'); -- Di insert_queue init_warehouse, hapus semua aturan engine_type dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'engine_type'); -- Di insert_queue init_warehouse, hapus semua aturan digest dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'digest'); -- Di insert_queue init_warehouse, hapus semua aturan storage_mode dari classifier_insert CALL hg_remove_classifier_rule_condition ('init_warehouse', 'insert_queue', 'classifier_insert', 'storage_mode');
-
-
Lihat metadata classifier
Metadata classifier disimpan dalam tabel sistem hologres.hg_classifiers. Bidang utamanya dijelaskan dalam tabel berikut.
Bidang |
Tipe data |
Deskripsi |
warehouse_id |
INT |
ID kelompok komputasi. Catatan
Untuk instans General-purpose, warehouse_id bernilai 0. |
warehouse_name |
TEXT |
Nama kelompok komputasi. Catatan
Untuk instans General-purpose, warehouse_name kosong. |
query_queue_name |
TEXT |
Nama antrian yang ingin Anda kueri. |
classifier_name |
TEXT |
Nama classifier. |
property_key | TEXT | Nama properti. |
property_value | TEXT | Nilai properti. |
Jalankan kueri query queue menggunakan sumber daya Serverless Computing
Pada Hologres versi V3.0.10 dan yang lebih baru, Anda dapat mengonfigurasi query queue agar menjalankan semua kuerinya menggunakan sumber daya Serverless Computing. Setelah dikonfigurasi, kueri dalam antrian meminta sumber daya Serverless berdasarkan urutan pengiriman dan prioritas. Kueri ini tidak lagi terpengaruh oleh batas konkurensi atau mekanisme antrian antrian tersebut. Untuk informasi lebih lanjut, lihat Panduan Pengguna Serverless Computing.
Jika Serverless Computing tidak tersedia di zona tempat instans berada, kueri dijalankan pada sumber daya komputasi lokal.
-
Instans tujuan umum
-
Sintaks
-- Jalankan semua kueri dalam antrian target menggunakan sumber daya Serverless CALL hg_set_query_queue_property('<query_queue_name>', 'computing_resource', 'serverless'); -- (Opsional) Atur prioritas kueri saat menggunakan sumber daya Serverless. Nilai: 1-5. Default: 3 CALL hg_set_query_queue_property('<query_queue_name>', 'query_priority_when_using_serverless_computing', '<priority>'); -
Parameter
-
query_queue_name: Wajib. Nama query queue.
priority: Prioritas. Nilai default adalah 3. Nilai harus berada dalam rentang
[1, 5].
-
-
Contoh
-- Jalankan semua kueri dalam antrian target menggunakan sumber daya Serverless CALL hg_set_query_queue_property('insert_queue', 'computing_resource', 'serverless'); -- Atur prioritas kueri Serverless menjadi 2 CALL hg_set_query_queue_property('insert_queue', 'query_priority_when_using_serverless_computing', '2');
-
-
Instans Compute group
-
Sintaks
-- Jalankan semua kueri dalam antrian target menggunakan sumber daya Serverless CALL hg_set_query_queue_property('<warehouse_name>', '<query_queue_name>', 'computing_resource', 'serverless'); -- (Opsional) Atur prioritas kueri saat menggunakan sumber daya Serverless. Nilai: 1-5. Default: 3 CALL hg_set_query_queue_property('<warehouse_name>', '<query_queue_name>', 'query_priority_when_using_serverless_computing', '<priority>'); -
Parameter
-
warehouse_name: Wajib. Nama kelompok komputasi.
-
query_queue_name: Wajib. Nama query queue.
-
priority: Wajib. Prioritas. Nilai default adalah 3. Nilai harus berada dalam rentang
[1, 5].
-
-
Contoh
-- Jalankan semua kueri dalam antrian target menggunakan sumber daya Serverless CALL hg_set_query_queue_property('init_warehouse', 'insert_queue', 'computing_resource', 'serverless'); -- Atur prioritas kueri Serverless menjadi 2 CALL hg_set_query_queue_property('init_warehouse', 'insert_queue', 'query_priority_when_using_serverless_computing', '2');
-
Skenario umum
Lihat query queue yang digunakan oleh pernyataan SQL tertentu
Anda dapat menggunakan pernyataan EXPLAIN untuk melihat query queue. Bidang Query Queue dalam hasil menunjukkan antrian yang ditetapkan. Berikut contohnya:
-- Buat query queue dengan konkurensi 10 dan ukuran antrian maksimum 20
CALL hg_create_query_queue ('select_queue', 10, 20);
-- Buat classifier dan ikat atribut command_tag
CALL hg_create_classifier ('select_queue', 'classifier_1');
CALL hg_set_classifier_rule_condition_value ('select_queue', 'classifier_1', 'command_tag', 'select');
-- Gunakan Explain Analyze untuk melihat classifier dan query queue yang cocok
EXPLAIN ANALYZE SELECT * FROM hg_stat_activity;
Berikut hasilnya.
QUERY PLAN
Gather (cost=0.00..14.96 rows=1000 width=408)
[4:1 id=100003 dop=1 time=16/16/16ms rows=142(142/142/142) mem=43/43/43KB open=0/0/0ms get_next=16/16/16ms]
-> Forward (cost=0.00..12.19 rows=1000 width=408)
[0:4 id=100002 dop=4 time=16/8/5ms rows=142(39/35/33) mem=6/6/6KB open=16/8/5ms get_next=0/0/0ms scan_rows=142(39/35/33)]
-> ExecuteExternalSQL on PQE (cost=0.00..10.04 rows=0 width=408)
" External SQL: SELECT "datid" AS c_d2adb610_0, "datname" AS c_d2adb760_1, "pid" AS c_d2adb8a0_2, "usesysid" AS c_d2adba10_3, "usename" AS c_d2adbb60_4, "application_name" AS c_d2adbd10_5, "client_addr" AS c_d2adbe80_6, "client_hostname" AS c_d2df1020_7, "client_port" AS c_d2df1190_8, "backend_start" AS c_d2df1300_9, "xact_start" AS c_d2df1470_10, "query_start" AS c_d2df15e0_11, "state_change" AS c_d2df1750_12, "wait_event_type" AS c_d2df18c0_13, "wait_event" AS c_d2df1a30_14, "state" AS c_d2df1b80_15, "backend_xid" AS c_d2df1cf0_16, "backend_xmin" AS c_d2df1e60_17, "query" AS c_d2df1fb0_18, "backend_type" AS c_d2df2120_19, "query_id" AS c_d2df2290_20, "transaction_id" AS c_d2df2400_21, "extend_info" AS c_d2df2570_22, "running_info" AS c_d2df26e0_23 FROM pg_catalog."hg_stat_activity""
Query id:[1001002491453065719]
Query Queue: init_warehouse.select_queue.classifier_1
Lihat query queue untuk kueri aktif
Anda dapat menjalankan pernyataan SQL berikut untuk melihat nama query queue, status, dan waktu antrian untuk kueri aktif.
SELECT
running_info::json -> 'current_stage' ->> 'stage_name' AS stage_name,
running_info::json -> 'current_stage' ->> 'queue_time_ms' AS queue_time_ms,
running_info::json ->> 'query_queue' AS query_queue,
*
FROM
hg_stat_activity;
Lihat query queue di Query Log
Anda dapat menggunakan pernyataan SQL berikut untuk melihat query queue, status, dan waktu antrian di Query Log. Bidang query_detail mencatat informasi tentang query queue. Untuk informasi lebih lanjut tentang tabel sistem hologres.hg_query_log, lihat Lihat tabel query_log.
SELECT * FROM hologres.hg_query_log WHERE query_detail like '%query_queue = <warehouse_name>.<queue_name>%';-- Hanya instans kelompok komputasi yang memerlukan warehouse_name
Bidang extended_info dalam hasil mencakup informasi berikut:
-
serverless_computing_source: Menunjukkan sumber pernyataan SQL yang dieksekusi menggunakan Serverless Computing. Nilai yang valid:-
user_submit: Pernyataan SQL secara eksplisit dikirim untuk dijalankan pada sumber daya Serverless dan tidak terkait dengan fitur Query Queue. -
query_queue: Pernyataan SQL berasal dari query queue yang dikonfigurasi untuk dijalankan sepenuhnya pada sumber daya Serverless. -
query_queue_rerun: Pernyataan SQL dijalankan ulang secara otomatis pada sumber daya Serverless menggunakan kontrol kueri besar pada fitur Query Queue.
-
-
query_id_of_triggered_rerun: Parameter ini dikembalikan hanya ketika nilai serverless_computing_source adalah query_queue_rerun. Ini menunjukkan ID kueri asli dari pernyataan SQL yang dijalankan ulang.
Buat query queue dengan aturan pencocokan berbeda
-
Contoh 1: Buat query queue untuk permintaan INSERT.
Setelah query queue dibuat, semua permintaan SQL INSERT dicocokkan oleh classifier_1 dan ditugaskan ke insert_queue.
-- Buat query queue dengan konkurensi 10 dan ukuran antrian maksimum 20 CALL hg_create_query_queue ('insert_queue', 10, 20); -- Buat classifier dan ikat atribut command_tag CALL hg_create_classifier ('insert_queue', 'classifier_1'); CALL hg_set_classifier_rule_condition_value ('insert_queue', 'classifier_1', 'command_tag', 'INSERT'); -
Buat query queue untuk pengguna p4_123 dan p4_345.
Setelah query queue dibuat, permintaan SQL yang diprakarsai oleh pengguna p4_123 dan p4_345 dicocokkan oleh classifier_2 dan ditugaskan ke user_queue.
-- Buat query queue dengan konkurensi 3 dan ukuran antrian tak terbatas CALL hg_create_query_queue ('user_queue', 3); CALL hg_set_query_queue_property('user_queue','max_queue_size', -1); -- Buat classifier dan atur aturan pencocokan user_name CALL hg_create_classifier ('user_queue', 'classifier_2'); CALL hg_set_classifier_rule_condition_value ('user_queue', 'classifier_2', 'user_name', 'p4_123'); CALL hg_set_classifier_rule_condition_value ('user_queue', 'classifier_2', 'user_name', 'p4_345');CatatanJika akun pengguna adalah akun kustom, sertakan nama akun dalam tanda kutip ganda (""). Contoh:
CALL hg_set_classifier_rule_condition_value ('user_queue', 'classifier_2', 'user_name', '"BASIC$xxx"');. -
Buat query queue untuk database test dan postgres.
Setelah query queue dibuat, permintaan SQL untuk database test dan postgres dicocokkan oleh classifier_3 dan ditugaskan ke db_queue.
-- Buat query queue dengan konkurensi 5 CALL hg_create_query_queue ('db_queue', 5); -- Atur waktu antrian maksimum menjadi 600000 ms. Kueri yang melebihi waktu ini gagal. CALL hg_set_query_queue_property ('db_queue', 'queue_timeout_ms', '600000'); -- Buat classifier dan ikat atribut db_name CALL hg_create_classifier ('db_queue', 'classifier_3'); CALL hg_set_classifier_rule_condition_value ('db_queue', 'classifier_3', 'db_name', 'test'); CALL hg_set_classifier_rule_condition_value ('db_queue', 'classifier_3', 'db_name', 'postgres'); -
Buat query queue untuk permintaan mesin HQE.
Setelah query queue dibuat, permintaan SQL yang diproses oleh mesin HQE dicocokkan oleh classifier_4 dan ditugaskan ke hqe_queue.
-- Buat query queue dengan konkurensi 10 CALL hg_create_query_queue ('hqe_queue', 10); -- Buat classifier dan ikat atribut engine_type CALL hg_create_classifier ('hqe_queue', 'classifier_4'); CALL hg_set_classifier_rule_condition_value ('hqe_queue', 'classifier_4', 'engine_type', 'HQE');
Blokir semua tugas (skenario ekstrem)
Anda dapat mengatur konkurensi dan ukuran antrian insert_queue menjadi 0. Berikut contohnya:
CALL hg_set_query_queue_property ('insert_queue', 'max_concurrency', '0');
CALL hg_set_query_queue_property ('insert_queue', 'max_queue_size', '0');