全部产品
Search
文档中心

AnalyticDB:Parameter konfigurasi Config dan hint

更新时间:Feb 06, 2026

AnalyticDB for MySQL mendukung dua metode konfigurasi parameter: perintah SET ADB_CONFIG KEY=VALUE dan hint (sintaks: /*+ KEY=VALUE*/). Perintah SET ADB_CONFIG mengubah konfigurasi global dan menerapkan pengaturan ke seluruh kluster. Sebaliknya, hint hanya berlaku untuk pernyataan SQL yang memuatnya dan tidak memengaruhi konfigurasi global. Jika suatu parameter dikonfigurasi baik melalui perintah SET ADB_CONFIG maupun hint, maka hint memiliki prioritas lebih tinggi. Topik ini menjelaskan parameter konfigurasi umum di AnalyticDB for MySQL.

Parameter Config Umum

Untuk versi kluster Milvus 3.2.5 dan yang lebih baru, sistem memvalidasi tipe konfigurasi.

Catatan

Untuk melihat dan memperbarui versi minor, buka bagian Configuration Information pada halaman Cluster Information di Konsol AnalyticDB for MySQL.

Kategori

Parameter

Deskripsi

Contoh

Tautan Dokumentasi

Jendela peralihan

REPLICATION_SWITCH_TIME_RANGE

Saat melakukan alih bencana ke kluster baru, kluster lama mendukung operasi read-only selama 5 hingga 10 menit. Setelah terhubung ke kluster lama, konfigurasikan REPLICATION_SWITCH_TIME_RANGE untuk menentukan jendela waktu alih bencana antara kluster lama dan baru.

Catatan

Jika Anda tidak mengonfigurasi jendela waktu alih bencana untuk kluster lama dan baru, kluster lama dan baru secara otomatis beralih setelah semua data inkremental di kluster lama disinkronkan ke kluster baru secara real time.

SET ADB_CONFIG REPLICATION_SWITCH_TIME_RANGE=`23:00, 23:30`;

Skalakan kluster Edisi Data Warehouse

Batas kondisi IN

MAX_IN_ITEMS_COUNT

Tetapkan batas jumlah kondisi IN. Nilainya harus berupa bilangan bulat positif lebih besar dari 0.

  • Untuk kluster dengan versi Milvus 3.1.8 atau lebih awal, nilai default adalah 2000.

  • Untuk kluster dengan versi Milvus 3.1.9.x hingga 3.1.10.x, nilai default adalah 4000.

  • Untuk kluster dengan versi Milvus 3.2.1 atau lebih baru, nilai default adalah 20000.

SET ADB_CONFIG MAX_IN_ITEMS_COUNT=4000;

Penulisan dan kueri

Periode timeout kueri

QUERY_TIMEOUT

Konfigurasikan periode timeout kueri untuk semua kueri di tingkat kluster. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

SET ADB_CONFIG QUERY_TIMEOUT=1000;

Periode timeout untuk pernyataan INSERT, UPDATE, dan DELETE

INSERT_SELECT_TIMEOUT

Ubah waktu eksekusi maksimum untuk pernyataan INSERT, UPDATE, dan DELETE di tingkat kluster. Nilai default: 24×3600000. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000;

Batasan

Nonaktifkan penurunan kondisi filter

  • Untuk versi Milvus 3.1.4 dan yang lebih baru: FILTER_NOT_PUSHDOWN_COLUMNS

  • Versi Milvus sebelum 3.1.4: NO_INDEX_COLUMNS

Nonaktifkan penurunan kondisi filter untuk bidang tertentu di tingkat kluster.

  • Untuk versi kernel 3.1.4 dan yang lebih baru: SET ADB_CONFIG FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.tableName1:colName1|colName2;Schema2.tableName2:colName1|colName2]

  • Untuk versi Milvus di bawah 3.1.4: SET ADB_CONFIG NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1]

Kondisi filter tanpa penurunan

Mode eksekusi kueri

QUERY_TYPE

Alihkan mode eksekusi kueri instans. Nilai yang valid:

  • interactive

  • batch

Catatan

Anda tidak dapat mengubah mode eksekusi kueri untuk kluster Edisi Data Warehouse AnalyticDB for MySQL dalam mode reserved atau kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, dan Edisi Data Lakehouse.

SET ADB_CONFIG QUERY_TYPE=interactive;

Mode eksekusi kueri

Antrian kueri

XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE

Jumlah maksimum kueri yang dapat dijalankan secara konkuren di antrian LOWEST pada satu node frontend. Nilai default: 20.

SET ADB_CONFIG XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE=20;

Antrian prioritas dan konkurensi kelompok sumber daya interaktif

XIHE_ENV_QUERY_ETL_MAX_QUEUED_SIZE

Jumlah maksimum kueri yang dapat diantri di antrian LOWEST pada satu node frontend. Nilai default: 200.

SET ADB_CONFIG XIHE_ENV_QUERY_ETL_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_LOW_PRIORITY_MAX_CONCURRENT_SIZE

Jumlah maksimum kueri yang dapat dijalankan secara konkuren di antrian LOW pada satu node frontend. Nilai default: 20.

SET ADB_CONFIG XIHE_ENV_QUERY_LOW_PRIORITY_MAX_CONCURRENT_SIZE=20;

XIHE_ENV_QUERY_LOW_PRIORITY_MAX_QUEUED_SIZE

Jumlah maksimum kueri yang dapat diantri di antrian LOW pada satu node frontend. Nilai default: 200.

SET ADB_CONFIG XIHE_ENV_QUERY_LOW_PRIORITY_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_NORMAL_MAX_CONCURRENT_SIZE

Jumlah maksimum kueri yang dapat dijalankan secara konkuren di antrian NORMAL pada satu node frontend. Nilai default: 20.

SET ADB_CONFIG XIHE_ENV_QUERY_NORMAL_MAX_CONCURRENT_SIZE=20;

XIHE_ENV_QUERY_NORMAL_MAX_QUEUED_SIZE

Jumlah maksimum kueri yang dapat diantri di antrian NORMAL pada satu node frontend. Nilai default: 200.

SET ADB_CONFIG XIHE_ENV_QUERY_NORMAL_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_HIGH_MAX_CONCURRENT_SIZE

Jumlah maksimum kueri yang dapat dijalankan secara konkuren di antrian HIGH pada satu node frontend. Nilai default: 40.

SET ADB_CONFIG XIHE_ENV_QUERY_HIGH_MAX_CONCURRENT_SIZE=40;

XIHE_ENV_QUERY_HIGH_MAX_QUEUED_SIZE

Jumlah maksimum kueri yang dapat diantri di antrian HIGH pada satu node frontend. Nilai default: 400.

SET ADB_CONFIG XIHE_ENV_QUERY_HIGH_MAX_QUEUED_SIZE=400;

Prioritas pekerjaan XIHE BSP

QUERY_PRIORITY

Prioritas pekerjaan BSP. Nilai yang valid:

  • HIGH

  • NORMAL (default)

  • LOW

  • LOWEST

SET ADB_CONFIG QUERY_PRIORITY=HIGH;

Daftar Item Konfigurasi

ACU maksimum untuk pekerjaan XIHE BSP

ELASTIC_JOB_MAX_ACU

Jumlah maksimum ACU yang digunakan oleh satu pekerjaan XIHE BSP. Nilai default-nya adalah 9, nilai minimum-nya adalah 3, dan rentang nilainya

adalah 3 (jumlah maksimum sumber daya untuk kelompok sumber daya tipe Job).

SET ADB_CONFIG ELASTIC_JOB_MAX_ACU=20;

Periode timeout untuk kueri pekerjaan XIHE BSP

BATCH_QUERY_TIMEOUT

Periode timeout untuk pekerjaan XIHE BSP. Nilai default: 7200000 ms. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

SET ADB_CONFIG BATCH_QUERY_TIMEOUT=3600000 ;

Impor dari tabel eksternal OSS

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Saat Hive menghasilkan rencana eksekusi, tentukan apakah akan mengirimkan tugas Hive Split ke antrian untuk dieksekusi secara asinkron. Nilai yang valid:

  • true: Ya.

  • false (default): Tidak.

Catatan

Parameter ini hanya didukung untuk versi Milvus 3.1.10.1 atau yang lebih baru.

SET ADB_CONFIG HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true;

None

Impor dari tabel eksternal MaxCompute

SQL_OUTPUT_BATCH_SIZE

Jumlah entri data saat mengimpor data secara batch. Nilainya harus berupa bilangan bulat lebih besar dari 0.

SET ADB_CONFIG SQL_OUTPUT_BATCH_SIZE = 6000;

Impor dan ekspor

ENABLE_ODPS_MULTI_PARTITION_PART_MATCH

Tentukan apakah akan melakukan pra-penelusuran untuk mendapatkan jumlah catatan di setiap partisi MaxCompute.

SET ADB_CONFIG ENABLE_ODPS_MULTI_PARTITION_PART_MATCH=false;

ASYNC_GET_SPLIT

Saat MaxCompute menghasilkan rencana eksekusi, tentukan apakah akan mengoptimalkan performa pemuatan split dengan mengirimkan tugas ke antrian secara asinkron. Nilai yang valid:

  • true: Ya.

  • Nilai default adalah false, yang berarti tidak.

Catatan

Parameter ini hanya didukung untuk versi Milvus 3.1.10.1 atau yang lebih baru.

SET ADB_CONFIG ASYNC_GET_SPLIT=true;

Waktu penjadwalan otomatis untuk pekerjaan BUILD

RC_CSTORE_BUILD_SCHEDULE_PERIOD

Batasi rentang waktu penjadwalan untuk tugas BUILD, bukan rentang waktu eksekusi tugas. Nilainya harus berupa bilangan bulat antara 0 dan 24.

SET ADB_CONFIG RC_CSTORE_BUILD_SCHEDULE_PERIOD=`6,8`;

Konfigurasi waktu penjadwalan BUILD otomatis

Prioritas penjadwalan untuk pekerjaan BUILD

ADB_CONFIG RC_BUILD_TASK_PRIORITY_LIST

Konfigurasikan prioritas penjadwalan untuk pekerjaan BUILD pada satu atau beberapa tabel. Prioritas tetap berlaku hingga Anda mengonfigurasi prioritas baru untuk tabel tersebut.

Prioritas penjadwalan untuk pekerjaan BUILD dikontrol oleh parameter task_priority. Nilainya harus berupa bilangan bulat. Nilai default: 0.

SET ADB_CONFIG RC_BUILD_TASK_PRIORITY_LIST = `<db1_name>.<table1_name>.<task_priority>;<db2_name>.<table2_name>.<task_priority>`;

BUILD

Impor elastis

RC_ELASTIC_JOB_SCHEDULER_ENABLE

Aktifkan secara manual sakelar impor elastis saat mengimpor data secara elastis.

SET ADB_CONFIG RC_ELASTIC_JOB_SCHEDULER_ENABLE=true;

Fungsi REMOTE_CALL

XIHE_REMOTE_CALL_SERVER_ENDPOINT

Titik akhir layanan internal layanan Function Compute yang digunakan saat Anda memanggil fungsi user-defined di layanan Function Compute secara remote menggunakan fungsi REMOTE_CALL. Untuk informasi selengkapnya, lihat Titik akhir layanan.

SET ADB_CONFIG XIHE_REMOTE_CALL_SERVER_ENDPOINT="1234567890000****.cn-zhangjiakou-internal.fc.aliyuncs.com"

Fungsi user-defined (UDF)

XIHE_REMOTE_CALL_SERVER_AK

Saat memanggil UDF di Function Compute menggunakan fungsi REMOTE_CALL, tentukan ID AccessKey dari Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) yang memiliki Function Compute.

SET ADB_CONFIG XIHE_REMOTE_CALL_SERVER_AK=************;

XIHE_REMOTE_CALL_SERVER_SK

Saat memanggil UDF di Function Compute menggunakan fungsi REMOTE_CALL, tentukan Rahasia AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki Function Compute.

SET ADB_CONFIG XIHE_REMOTE_CALL_SERVER_SK=************;

XIHE_REMOTE_CALL_COMPRESS_ENABLED

Saat memanggil UDF di Function Compute menggunakan fungsi REMOTE_CALL, tentukan apakah akan mengompres data dalam format GZIP sebelum mengirimkannya ke Function Compute.

SET ADB_CONFIG REMOTE_CALL_COMPRESS_ENABLED=true;

XIHE_REMOTE_CALL_MAX_BATCH_SIZE

Saat memanggil UDF di Function Compute menggunakan fungsi REMOTE_CALL, tentukan jumlah baris data yang dikirim ke Function Compute.

SET ADB_CONFIG XIHE_REMOTE_CALL_MAX_BATCH_SIZE=500000;

Kontrol konkurensi pemindaian

ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL mendukung konfigurasi kuota konkurensi pemindaian. Ini mencegah ketidakstabilan node akibat konkurensi pemindaian dan konsumsi sumber daya yang berlebihan selama kueri. Nilai yang valid:

  • true (default): Aktifkan fitur kontrol konkurensi pemindaian.

  • false: Nonaktifkan fitur kontrol konkurensi pemindaian.

SET ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED=true;

kontrol konkurensi pemindaian

ADB_CONFIG NODE_LEVEL_SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL mendukung penyesuaian dinamis kuota konkurensi pemindaian untuk tugas berdasarkan kuota konkurensi pemindaian keseluruhan node. Nilai yang valid:

  • true: Aktifkan penyesuaian dinamis fitur kontrol konkurensi pemindaian tugas.

  • false (default): Nonaktifkan penyesuaian dinamis fitur kontrol konkurensi pemindaian tugas.

SET ADB_CONFIG NODE_LEVEL_SPLIT_FLOW_CONTROL_ENABLED=true;

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian minimum untuk tugas. Nilai default: 1. Nilai yang valid: [1, TARGET_RUNNING_SPLITS_LIMIT_PER_TASK].

SET ADB_CONFIG MIN_RUNNING_SPLITS_LIMIT_PER_TASK=24;

TARGET_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian menengah untuk tugas. Tingkatkan atau kurangi kuota konkurensi pemindaian berdasarkan nilai ini. Nilai default: 32. Nilai yang valid: [MIN_RUNNING_SPLITS_LIMIT_PER_TASK, MAX_RUNNING_SPLITS_LIMIT_PER_TASK].

TARGET_RUNNING_SPLITS_LIMIT_PER_TASK=32;

MAX_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian maksimum untuk tugas. Nilai default: 64. Nilainya harus lebih besar dari TARGET_RUNNING_SPLITS_LIMIT_PER_TASK.

SET ADB_CONFIG MAX_RUNNING_SPLITS_LIMIT_PER_TASK=128;

ADB_CONFIG WORKER_MAX_RUNNING_SOURCE_SPLITS_PER_NODE

Kuota konkurensi pemindaian default untuk node penyimpanan adalah 256. Kuota yang terlalu besar atau terlalu kecil memengaruhi performa kluster. Jangan ubah nilai default.

SET ADB_CONFIG WORKER_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

ADB_CONFIG EXECUTOR_MAX_RUNNING_SOURCE_SPLITS_PER_NODE

Kuota konkurensi pemindaian default untuk node komputasi adalah 256. Kuota yang terlalu besar atau terlalu kecil memengaruhi performa kluster. Jangan ubah nilai default.

SET ADB_CONFIG EXECUTOR_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

Sensitivitas huruf besar/kecil untuk tampilan logis

VIEW_OUTPUT_NAME_CASE_SENSITIVE

Tetapkan sensitivitas huruf besar/kecil untuk tampilan logis. Nilai yang valid:

  • true: Sensitif terhadap huruf besar/kecil.

  • false (default): Tidak sensitif terhadap huruf besar/kecil.

SET ADB_CONFIG VIEW_OUTPUT_NAME_CASE_SENSITIVE=true;

CREATE VIEW

Eksekusi beberapa pernyataan SQL secara berurutan

ALLOW_MULTI_QUERIES

Saat mengeksekusi beberapa pernyataan SQL secara berurutan menggunakan fitur Multi-Statement, aktifkan secara manual fitur Multi-Statement. Nilai yang valid:

  • true: Aktifkan.

  • false (default): Nonaktifkan.

SET ADB_CONFIG ALLOW_MULTI_QUERIES=true;

Multi-Statement

Aktifkan binary logging

BINLOG_ENABLE

  • Untuk kluster yang menjalankan versi Milvus sebelum 3.2.0.0, Anda harus mengaktifkan secara manual atribut binary logging sebelum dapat mengaktifkan fitur binary logging untuk tabel.

  • Untuk kluster yang menjalankan versi Milvus 3.2.0.0 atau yang lebih baru, binary logging diaktifkan secara default. Anda tidak perlu mengonfigurasi parameter ini.

SET ADB_CONFIG BINLOG_ENABLE=true;

Segarkan materialized view

Cache paging (optimasi performa untuk kueri paging mendalam)

PAGING_CACHE_SCHEMA

Tentukan database yang menyimpan tabel cache sementara untuk kueri paging. Jika tidak ditentukan, database internal yang sedang terhubung digunakan.

SET ADB_CONFIG PAGING_CACHE_SCHEMA=paging_cache;

Cache paging (optimasi performa untuk kueri paging mendalam)

PAGING_CACHE_MAX_TABLE_COUNT

Tetapkan jumlah maksimum tabel cache sementara. Jika jumlah ini terlampaui, pembuatan cache baru gagal. Nilai default: 100. Nilainya harus berupa bilangan bulat lebih besar dari 0.

SET ADB_CONFIG PAGING_CACHE_MAX_TABLE_COUNT=100;

PAGING_CACHE_EXPIRATION_TIME

Tentukan ambang batas Waktu hidup (TTL) cache. Sistem secara otomatis menghapus cache kueri paging yang tidak diakses dalam waktu yang ditentukan. Nilai default: 600. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: detik (s).

SET ADB_CONFIG PAGING_CACHE_EXPIRATION_TIME=600;

PAGING_CACHE_ENABLE

Tentukan apakah akan menonaktifkan fitur Paging Cache secara global. Nilai yang valid:

  • true (default): Aktifkan.

  • false: Nonaktifkan.

SET ADB_CONFIG PAGING_CACHE_ENABLE=false;

Tentukan mesin tabel

RC_DDL_ENGINE_REWRITE_XUANWUV2

Tentukan secara global mesin tabel untuk kluster. Nilai yang valid:

  • true (default): Mesin tabel untuk tabel yang sudah ada tetap tidak berubah. Mesin tabel default untuk tabel baru adalah XUANWU_V2. Bahkan jika Anda secara eksplisit menentukan ENGINE=XUANWU saat membuat tabel baru, secara otomatis ditulis ulang menjadi XUANWU_V2.

  • false: Mesin tabel untuk tabel yang sudah ada tetap tidak berubah. Mesin tabel default untuk tabel baru adalah XUANWU.

SET ADB_CONFIG RC_DDL_ENGINE_REWRITE_XUANWUV2=true;

Tentukan mesin tabel

Hint Umum

Kategori

Parameter

Deskripsi

Contoh

Tautan Dokumentasi

Periode timeout kueri

QUERY_TIMEOUT

Konfigurasikan periode timeout kueri untuk satu kueri di tingkat kueri. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

/*+ QUERY_TIMEOUT=1000 */select count(*) from t;

Penulisan dan kueri

Periode timeout untuk pernyataan INSERT, UPDATE, dan DELETE

INSERT_SELECT_TIMEOUT

Ubah waktu eksekusi maksimum untuk pernyataan INSERT, UPDATE, dan DELETE di tingkat kueri. Nilai default: 24×3600000. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

/*+ INSERT_SELECT_TIMEOUT=3600000 */update customer set customer_name ='adb' where customer_id ='2369';

Batasan

Nonaktifkan penurunan kondisi filter

  • Versi Milvus 3.1.4 dan yang lebih baru: FILTER_NOT_PUSHDOWN_COLUMNS

  • Untuk versi Milvus sebelum 3.1.4, gunakan NO_INDEX_COLUMNS.

Nonaktifkan penurunan kondisi filter untuk bidang tertentu di tingkat kueri.

  • Untuk versi Milvus 3.1.4 dan yang lebih baru: /*+ FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.table1:colName1|colName2;Schema2.table2:colName1|colName2] */

  • Untuk versi Milvus sebelum 3.1.4: /*+ NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1] */

Kondisi Filter Tanpa Pushdown

Prioritas penjadwalan untuk pekerjaan BUILD

BUILD_TASK_PRIORITY

Ubah prioritas penjadwalan untuk tugas BUILD. Saat ini, Anda hanya dapat menggunakan hint untuk mengonfigurasi prioritas penjadwalan BUILD untuk satu tabel. Nilai default: 0. Nilainya harus berupa bilangan bulat lebih besar atau sama dengan 0. Nilai yang lebih besar menunjukkan prioritas penjadwalan tugas BUILD yang lebih tinggi.

/*+ BUILD_TASK_PRIORITY = 2*/ BUILD TABLE db.table;

Konfigurasi prioritas penjadwalan BUILD

Impor elastis

  • ELASTIC_LOAD

  • ELASTIC_LOAD_CONFIGS

Pilih impor elastis dan konfigurasikan kelompok sumber daya Job untuk mengeksekusi tugas impor elastis.

/*+ ELASTIC_LOAD=true, ELASTIC_LOAD_CONFIGS=[adb.load.resource.group.name=resource_group]*/

SUBMIT JOB INSERT OVERWRITE INTO adb_demo.adb_import_test SELECT * FROM adb_external_db.person;

Sesuaikan rencana eksekusi

  • Versi Milvus 3.1.8 dan yang lebih baru: O_CBO_RULE_SWAP_OUTER_JOIN

  • Versi Milvus sebelum 3.1.8: LEFT_TO_RIGHT_ENABLED

Hash Join membangun menggunakan tabel kanan, dan Left Join tidak mengubah urutan tabel kiri dan kanan. Ketika tabel kanan memiliki volume data besar, hal ini dapat menyebabkan eksekusi lambat dan konsumsi sumber daya memori berlebihan. Tambahkan hint untuk menginstruksikan pengoptimal mengonversi Left Join menjadi Right Join berdasarkan konsumsi sumber daya. Nilai yang valid:

  • true: Diaktifkan.

  • false (default)

  • /*+ O_CBO_RULE_SWAP_OUTER_JOIN=true*/

  • /*+ LEFT_TO_RIGHT_ENABLED=true*/

Ubah LEFT JOIN menjadi RIGHT JOIN

REORDER_JOINS

AnalyticDB for MySQL secara default mengaktifkan penyesuaian urutan Join otomatis. Anda dapat menyesuaikan urutan Join secara manual berdasarkan karakteristik data kueri, sehingga kueri dieksekusi langsung sesuai urutan Join dalam pernyataan SQL. Nilai yang valid:

  • true (default): Mengaktifkan fitur penyesuaian urutan join otomatis.

  • false: Menonaktifkan fitur penyesuaian urutan join otomatis.

/*+ REORDER_JOINS=false*/

Sesuaikan urutan join secara manual

AGGREGATION_PATH_TYPE

Jika Anda menggunakan metode agregasi dua langkah dan jumlah grup dalam pengelompokan serta agregasi besar, hal ini mengonsumsi banyak sumber daya komputasi. Gunakan hint ini untuk melewati agregasi parsial dan langsung melakukan agregasi akhir. Nilai yang valid:

  • single_agg: Lewati agregasi parsial.

  • auto (default): Pengoptimal secara otomatis menentukan apakah akan melewati agregasi parsial.

/*+ AGGREGATION_PATH_TYPE=single_agg*/

Optimasi kueri pengelompokan dan agregasi

Sesuaikan kebijakan runtime

HASH_PARTITION_COUNT

Setiap tugas komputasi dibagi menjadi beberapa tugas konkuren untuk dieksekusi, memanfaatkan sepenuhnya sumber daya komputasi. Gunakan hint ini untuk mengatur konkurensi. Nilai default: 32. Nilainya harus berupa bilangan bulat lebih besar dari 0.

/*+ HASH_PARTITION_COUNT=32*/

None

TASK_WRITER_COUNT

Konkurensi untuk tugas impor INSERT INTO SELECT. Jika beban worker terlalu tinggi, ubah hint ini untuk mengurangi konkurensi. Nilai default: 16. Nilainya harus berupa bilangan bulat lebih besar dari 0.

/*+ TASK_WRITER_COUNT=8*/

CTE_EXECUTION_MODE

Tentukan apakah akan mengaktifkan optimasi eksekusi CTE. Saat optimasi eksekusi CTE diaktifkan, jika subkueri CTE dirujuk beberapa kali, ia hanya dieksekusi sekali, meningkatkan performa kueri untuk beberapa kasus. Nilai yang valid:

  • shared: Aktifkan fitur optimasi eksekusi CTE.

  • inline (default): Nonaktifkan fitur optimasi eksekusi CTE.

/*+ CTE_EXECUTION_MODE=shared*/

WITH

Batasan kondisi kueri

QUERY_MAX_SHUFFLE_DATA_SIZE_MB

Volume data shuffle untuk suatu kueri. Secara default, tidak ada error yang dipicu terlepas dari volume data kueri. Jika parameter ini diatur dan volume data kueri melebihi ambang batas yang ditentukan, sistem langsung menghentikan kueri dan melaporkan error. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: MB.

/*+ QUERY_MAX_SHUFFLE_DATA_SIZE_MB=1024*/

None

MAX_SELECT_ITEMS_COUNT

Tetapkan batas jumlah kondisi SELECT. Nilai default: 1024. Nilainya harus berupa bilangan bulat lebih besar dari 0.

/*+ MAX_SELECT_ITEMS_COUNT=2048*/

MAX_IN_ITEMS_COUNT

Tetapkan batas jumlah kondisi IN. Nilai default: 4000. Nilainya harus berupa bilangan bulat lebih besar dari 0.

/*+ MAX_IN_ITEMS_COUNT=1000*/

MAX_WHERE_ITEMS_COUNT

Tetapkan batas jumlah kondisi WHERE. Nilai default: 256. Nilainya harus berupa bilangan bulat lebih besar dari 0.

/*+ MAX_WHERE_ITEMS_COUNT=512*/

Prioritas pekerjaan XIHE BSP

QUERY_PRIORITY

Prioritas pekerjaan BSP. Nilai yang valid:

  • HIGH

  • NORMAL (default)

  • LOW

  • LOWEST

/*+ QUERY_PRIORITY=HIGH*/

Daftar Item Konfigurasi

ACU maksimum untuk pekerjaan XIHE BSP

ELASTIC_JOB_MAX_ACU

Jumlah maksimum ACUs yang digunakan oleh satu pekerjaan XIHE BSP. Nilai bawaan adalah 9, nilai minimum adalah 3, dan rentang yang valid adalah [3, jumlah maksimum sumber daya dari kelompok sumber daya tipe pekerjaan].

Nilainya adalah [3, jumlah maksimum sumber daya untuk kelompok sumber daya tipe pekerjaan].

/*+ ELASTIC_JOB_MAX_ACU=20*/

Periode timeout untuk kueri pekerjaan XIHE BSP

BATCH_QUERY_TIMEOUT

Periode timeout untuk pekerjaan XIHE BSP. Nilai default: 7200000 ms. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: milidetik (ms).

/*+ BATCH_QUERY_TIMEOUT=3600000*/

Tabel eksternal OSS

OUTPUT_FILENAME

Saat mengekspor data menggunakan tabel eksternal OSS, tambahkan hint ini sebelum pernyataan ekspor untuk menyesuaikan nama file yang disimpan di OSS.

/*+ OUTPUT_FILENAME=output.csv*/

Ekspor ke OSS

SQL_OUTPUT_OSS_FILE_HEAD_ENABLE

Saat mengekspor data menggunakan tabel eksternal OSS, file data yang diekspor ke OSS secara default tidak menyertakan nama kolom; hanya berisi data. Jika Anda ingin mengekspor file dengan nama kolom, tambahkan hint ini sebelum pernyataan impor. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ SQL_OUTPUT_OSS_FILE_HEAD_ENABLE=true*/

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Saat Hive menghasilkan rencana eksekusi, tentukan apakah akan mengirimkan tugas Hive Split ke antrian untuk dieksekusi secara asinkron. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

Catatan

Parameter ini hanya didukung untuk versi Milvus 3.1.10.1 atau yang lebih baru.

/*+ HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true*/

Impor data OSS menggunakan tabel eksternal

FAST_PARQUET_READER_ENABLE

Saat informasi statistik dalam file Parquet salah,

Tentukan apakah akan menggunakan pembaca Parquet native sebagai fallback.

  • true (default)

  • false: Tidak.

/*+ FAST_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_ENABLE

Jika data tidak mengandung nilai NULL, tentukan apakah akan mengaktifkan pembacaan Parquet tervektor. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ OSS_VECTORIZED_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE

Jika data mengandung nilai NULL, tentukan apakah akan mengaktifkan pembacaan Parquet tervektor. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE=true*/

HUDI_METADATA_TABLE_ENABLED

Tentukan apakah akan memuat metadata Hudi. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ HUDI_METADATA_TABLE_ENABLED=true*/

HUDI_QUERY_TYPE

Tetapkan metode untuk mengkueri tabel Hudi. Nilai yang valid:

  • snapshot: Kueri semua data yang dikirimkan atau dikompresi pada waktu tertentu.

  • read_optimized (default): Kueri data setelah pengiriman atau kompresi terbaru.

/*+ HUDI_QUERY_TYPE=snapshot*/

HUDI_REALTIME_SKIP_MERGE

Saat mengkueri data tabel Hudi dalam mode snapshot, tentukan apakah akan melewati penggabungan catatan dari file dasar dan file log. Nilai yang valid:

  • true: Ya.

  • false (default): Dinonaktifkan.

/*+ HUDI_REALTIME_SKIP_MERGE=true*/

HUDI_MAX_SPLIT_SIZE=

Ukuran split maksimum. Nilai default: 128. Satuan: MB.

/*+ HUDI_MAX_SPLIT_SIZE=128*/

HUDI_SPLIT_PARALLEL_GENERATION_ENABLED

Tentukan apakah akan menghasilkan split secara paralel. Nilai yang valid:

  • true (default)

  • false: Tidak.

/*+ HUDI_SPLIT_PARALLEL_GENERATION_ENABLED=true*/

HUDI_DATA_SKIPPING_ENABLED

Saat membaca data, gunakan statistik dari Hudi MetaTable untuk melewati shard yang tidak diperlukan, meningkatkan performa kueri. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ HUDI_DATA_SKIPPING_ENABLED=true*/

HUDI_SPLIT_ASYNC_GENERATION_ENABLED

Selama fase pembuatan rencana eksekusi, tentukan apakah akan menghasilkan split Hudi secara asinkron. Nilai yang valid:

  • true (default)

  • false: Tidak.

/*+ HUDI_SPLIT_ASYNC_GENERATION_ENABLED=true*/

Tabel eksternal ApsaraDB RDS for MySQL

JDBC_SCAN_SPLITS

Jumlah split selama TableScan berbasis Java Database Connectivity (JDBC). Nilai default: 1. Nilai yang valid: 1 hingga 100.

/*+ JDBC_SCAN_SPLITS=1*/

Gunakan tabel eksternal untuk mengimpor data dari RDS for MySQL

JDBC_SPLIT_COLUMN

Kolom yang digunakan untuk membagi saat membaca tabel eksternal ApsaraDB RDS for MySQL.

/*+ JDBC_SPLIT_COLUMN=column1*/

JDBC_INSERT_DIRECTLY

Saat menulis data ke tabel eksternal ApsaraDB RDS for MySQL, data ditulis ke tabel sementara terlebih dahulu, lalu ke tabel target secara default. Anda dapat mengubah hint untuk menulis data langsung ke tabel target. Namun, kesalahan apa pun selama proses penulisan dapat mengakibatkan data kotor di tabel target. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Dinonaktifkan.

/*+ JDBC_INSERT_DIRECTLY=true*/

Tabel eksternal Tablestore

OTS-INSERT-AS-UPDATE

Tentukan apakah akan menggunakan pernyataan INSERT alih-alih pernyataan UPDATE. Nilai yang valid:

  • true: Ya.

  • false (default): Tidak.

/*+ OTS-INSERT-AS-UPDATE=true*/

Kueri dan impor data Tablestore

Tabel eksternal MaxCompute

ODPS_SPLIT_LIMIT

Jumlah maksimum split saat membaca data melalui Tunnel. Nilai default: 1000. Nilai yang valid: 1 hingga 1000.

/*+ ODPS_SPLIT_LIMIT=1000*/

Impor data MaxCompute menggunakan tabel eksternal

IGNORE_PARTITION_CACHE

Saat mengeksekusi kueri dengan kondisi partisi, kueri metadata partisi langsung dari tabel MaxCompute alih-alih menggunakan metadata partisi yang di-cache.

  • true: Ya.

  • false (default)

/*+ IGNORE_PARTITION_CACHE=true*/

ROWS_PER_SPLIT

Jumlah maksimum baris data yang dapat dibaca oleh satu split saat membaca data melalui Tunnel. Nilai default: 500000. Nilai yang valid: 10000 hingga 500000.

/*+ ROWS_PER_SPLIT=500000*/

STORAGE_API_ENABLED

Tentukan apakah akan menggunakan MaxCompute Storage API untuk membaca data MaxCompute. MaxCompute Storage API sangat meningkatkan performa baca dibandingkan dengan layanan Tunnel tradisional.

Nilai:

  • true: Ya.

  • false (nilai default): Tidak.

/*+ STORAGE_API_ENABLED=true*/

APLIT_BYTE_SIZE

Saat membaca data melalui MaxCompute Storage API, ukuran maksimum satu split. Nilai default: 256. Satuan: MB.

/*+ APLIT_BYTE_SIZE=256*/

MAX_BATCH_ROW_COUNT

Saat membaca data melalui MaxCompute Storage API, jumlah maksimum baris dalam satu split. Nilai default: 1024.

/*+ MAX_BATCH_ROW_COUNT=1024*/

PAGE_BATCH_SIZE

Saat membaca data melalui MaxCompute Storage API, jumlah maksimum baris yang dikandung setiap halaman. Nilai default: 1024.

/*+ PAGE_BATCH_SIZE=1024*/

MAX_ALLOCATION_PER_SPLIT

Saat membaca data melalui MaxCompute Storage API, alokasi memori puncak maksimum di tingkat split. Nilai default: 300 MB. Satuan: MB.

/*+ MAX_ALLOCATION_PER_SPLIT=300*/

ASYNC_GET_SPLIT

Saat MaxCompute menghasilkan rencana eksekusi, tentukan apakah akan mengoptimalkan performa pemuatan split dengan mengirimkan tugas ke antrian secara asinkron. Nilai yang valid:

  • true: Ya.

  • Nilai default adalah false, yang berarti tidak.

Catatan

Parameter ini hanya didukung untuk versi Milvus 3.1.10.1 atau yang lebih baru.

/*+ ASYNC_GET_SPLIT=true*/

Kontrol konkurensi pemindaian

SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL mendukung konfigurasi kuota konkurensi pemindaian. Ini mencegah ketidakstabilan node akibat konkurensi pemindaian dan konsumsi sumber daya yang berlebihan selama kueri. Nilai yang valid:

  • true (default): Aktifkan fitur kontrol konkurensi pemindaian.

  • false: Nonaktifkan fitur kontrol konkurensi pemindaian.

/*+ SPLIT_FLOW_CONTROL_ENABLED=true*/ SELECT * FROM table;

Kontrol Konkurensi Pemindaian

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian minimum untuk tugas. Nilai default: 1. Nilai yang valid: [1, TARGET_RUNNING_SPLITS_LIMIT_PER_TASK].

/*+ MIN_RUNNING_SPLITS_LIMIT_PER_TASK=10*/SELECT * FROM orders;

TARGET_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian menengah untuk tugas. Tingkatkan atau kurangi kuota konkurensi pemindaian berdasarkan nilai ini. Nilai default: 32. Nilai yang valid: [MIN_RUNNING_SPLITS_LIMIT_PER_TASK, MAX_RUNNING_SPLITS_LIMIT_PER_TASK].

/*+ TARGET_RUNNING_SPLITS_LIMIT_PER_TASK=32*/SELECT * FROM adb_test;

MAX_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian maksimum untuk tugas. Nilai default: 64. Nilainya harus lebih besar dari TARGET_RUNNING_SPLITS_LIMIT_PER_TASK.

/*+ MAX_RUNNING_SPLITS_LIMIT_PER_TASK=100*/SELECT * FROM adb_test;

Cache paging (optimasi performa untuk kueri paging mendalam)

PAGING_ID

Aktifkan fitur Paging Cache dan tentukan secara manual paging_id untuk mengidentifikasi satu set cache kueri paging terkait (yaitu, satu set kueri paging dengan pola yang sama, hanya berbeda pada parameter LIMIT dan OFFSET).

/*PAGING_ID=paging123*/ SELECT * FROM t_order ORDER BY id LIMIT 0, 100;

Cache paging (optimasi performa untuk kueri paging mendalam)

PAGING_CACHE_ENABLED

Aktifkan fitur Paging Cache dan hasilkan secara otomatis paging_id berdasarkan pola SQL untuk mengidentifikasi satu set cache kueri paging terkait (yaitu, satu set kueri paging dengan pola yang sama, hanya berbeda pada parameter LIMIT dan OFFSET). Nilai yang valid:

  • true: Aktifkan fitur Paging Cache.

  • false (default): Nonaktifkan fitur Paging Cache.

/*PAGING_CACHE_ENABLED=true*/ SELECT * FROM t_order ORDER BY id LIMIT 0, 100;

PAGING_CACHE_VALIDITY_INTERVAL

Tetapkan periode validitas cache. Setelah periode ini, cache menjadi tidak valid. Jika cache tidak diakses dalam satu jam setelah tidak valid, sistem secara otomatis menghapus tabel cache sementara yang sesuai. Nilainya harus berupa bilangan bulat lebih besar dari 0. Satuan: detik (s). Gunakan parameter ini bersama paging_cache_enabled.

/*PAGING_CACHE_ENABLED=true,PAGING_CACHE_VALIDITY_INTERVAL=300*/ SELECT * FROM t_order ORDER BY id LIMIT 0, 100;

INVALIDATE_PAGING_CACHE

Tentukan apakah akan menghapus cache kueri paging untuk pola tertentu. Nilai yang valid:

  • true: Ya.

  • false (nilai default): Tidak.

Parameter ini harus digunakan bersama parameter paging_id atau paging_cache_enabled.

/*PAGING_CACHE_ENABLED=true,INVALIDATE_PAGING_CACHE=true*/ SELECT * FROM t_order ORDER BY id LIMIT 0, 100;

Tentukan mesin tabel

RC_DDL_ENGINE_REWRITE_XUANWUV2

Tentukan mesin tabel untuk tabel yang dibuat oleh pernyataan SQL saat ini. Nilai yang valid:

  • true (default): Mesin tabel untuk tabel yang sudah ada tetap tidak berubah. Mesin tabel default untuk tabel yang dibuat oleh pernyataan SQL saat ini adalah XUANWU_V2. Bahkan jika Anda secara eksplisit menentukan ENGINE=XUANWU saat membuat tabel ini, secara otomatis ditulis ulang menjadi XUANWU_V2.

  • false: Mesin tabel untuk tabel yang sudah ada tetap tidak berubah. Mesin tabel default untuk tabel yang dibuat oleh pernyataan SQL saat ini adalah XUANWU.

/*+ RC_DDL_ENGINE_REWRITE_XUANWUV2=true */

Tentukan mesin tabel

Lainnya

RESOURCE_GROUP

Tentukan kelompok sumber daya yang digunakan oleh kueri. Jika Anda tidak menentukan kelompok sumber daya, kelompok sumber daya yang terikat ke akun database digunakan secara default. Jika akun database tidak terikat ke kelompok sumber daya, kelompok sumber daya default digunakan.

/*+ RESOURCE_GROUP=my_group_name*/

None

DML_EXCEPTION_TO_NULL_ENABLED

Jika nilai tidak valid muncul dalam data yang ditulis oleh pernyataan INSERT SELECT, tentukan apakah akan memunculkan exception. Nilai yang valid:

  • true: Jangan memunculkan exception; tulis nilai NULL.

  • false (default): Memunculkan exception.

/*+ DML_EXCEPTION_TO_NULL_ENABLED=true*/

DISPLAY_HINT

Digunakan untuk menandai kueri terkait, seperti yang berasal dari pihak bisnis berbeda, agar mudah diidentifikasi.

/*+ DISPLAY_HINT=from_user_123*/

FAQ

Bagaimana cara menghapus pengaturan parameter ADB_CONFIG?

Jika Anda menyetel parameter konfigurasi menggunakan SET ADB_CONFIG key=value;, gunakan metode berikut untuk mengembalikannya ke nilai default.

Metode

Contoh

SET ADB_CONFIG REMOVE key;
SET ADB_CONFIG REMOVE QUERY_TIMEOUT; --Kembalikan periode timeout kueri ke nilai default.

Setelah perintah berhasil dijalankan, jalankan SHOW ADB_CONFIG KEY=key; untuk memastikan bahwa parameter konfigurasi telah dikembalikan ke nilai default.