All Products
Search
Document Center

AnalyticDB:Parameter konfigurasi config dan hint

Last Updated:Aug 21, 2026

AnalyticDB for MySQL memungkinkan Anda mengonfigurasi parameter menggunakan perintah SET ADB_CONFIG KEY=VALUE dan hint dengan sintaks /*+ KEY=VALUE*/. Perintah SET ADB_CONFIG mengubah konfigurasi global yang berlaku di seluruh kluster, sedangkan hint hanya berlaku untuk pernyataan SQL tertentu dan tidak memengaruhi konfigurasi global. Jika parameter yang sama dikonfigurasi melalui SET ADB_CONFIG maupun hint, hint akan memiliki prioritas lebih tinggi. Topik ini menjelaskan parameter konfigurasi umum di AnalyticDB for MySQL.

Parameter config umum

Jika versi kernel kluster adalah 3.2.5 atau lebih baru, sistem akan memvalidasi tipe parameter konfigurasi.

Catatan Anda dapat melihat dan melakukan upgrade versi kernel pada halaman Informasi Kluster di Konsol AnalyticDB for MySQL, di bagian Informasi Konfigurasi.

Kategori

Parameter

Deskripsi

Contoh

Referensi

Switchover window

REPLICATION_SWITCH_TIME_RANGE

Description Selama switchover kluster, kluster lama hanya mendukung operasi baca selama 5 hingga 10 menit. Setelah terhubung ke kluster lama, Anda dapat mengonfigurasi REPLICATION_SWITCH_TIME_RANGE untuk menentukan jendela waktu alih antara kluster lama dan baru. Jika Anda tidak mengonfigurasi jendela waktu alih, kluster lama dan baru akan secara otomatis dialihkan setelah semua data inkremental di kluster lama disinkronkan secara real time ke kluster baru. SET ADB_CONFIG REPLICATION_SWITCH_TIME_RANGE=`23:00, 23:30`;

Scale a Data Warehouse Edition cluster

Batasan kondisi IN

MAX_IN_ITEMS_COUNT

Description Menetapkan jumlah maksimum item dalam kondisi IN. Nilai valid: bilangan bulat positif lebih besar dari 0. Untuk kluster dengan versi kernel sebelum 3.2.8, nilai default adalah 4000. Untuk kluster dengan versi kernel 3.2.8 atau lebih baru, nilai default adalah 20000.

SET ADB_CONFIG MAX_IN_ITEMS_COUNT=4000;

Writes and queries

Kolom SELECT maksimum

MAX_SELECT_ITEMS_COUNT

Description Jumlah maksimum kolom dalam pernyataan SELECT. Nilai default: 1024. Meningkatkan nilai ini dapat memengaruhi stabilitas kluster. Kami tidak menyarankan Anda mengubah nilai ini. SET ADB_CONFIG MAX_SELECT_ITEMS_COUNT=1000; Reference

Timeout kueri

QUERY_TIMEOUT

Description Periode timeout untuk eksekusi kueri. Nilai default: 1800000 ms (30 menit). Parameter ini hanya mengontrol timeout eksekusi pernyataan SQL. Tidak memengaruhi timeout koneksi atau timeout idle session. SET ADB_CONFIG QUERY_TIMEOUT=1000;

Pengoptimalan kueri/Kebijakan runtime

DYNAMIC_FILTER_WAIT_TIME_IN_MS

Description Ambang batas waktu tunggu untuk filtering dinamis. Parameter ini mengontrol durasi tunggu untuk membangun filter dinamis dalam operasi join, menyeimbangkan performa kueri dan konsumsi resource. SHOW ADB_CONFIG KEY=DYNAMIC_FILTER_WAIT_TIME_IN_MS;

Timeout INSERT, UPDATE, DELETE

INSERT_SELECT_TIMEOUT

Description Waktu eksekusi maksimum untuk pernyataan INSERT, UPDATE, dan DELETE di tingkat kluster. Nilai default: 24*3600000. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: milidetik. SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000; Reference

Limits

Nonaktifkan predicate pushdown

Parameters Versi kernel 3.1.4 atau lebih baru: FILTER_NOT_PUSHDOWN_COLUMNS Versi kernel sebelum 3.1.4: NO_INDEX_COLUMNS Description Menonaktifkan predicate pushdown untuk kolom tertentu di tingkat kluster.

Nonaktifkan predicate pushdown untuk kolom tertentu di tingkat kluster.

  • Versi kernel 3.1.4 atau lebih baru: SET ADB_CONFIG FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.tableName1:colName1|colName2;Schema2.tableName2:colName1|colName2]

  • Versi kernel sebelum 3.1.4: SET ADB_CONFIG NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1]

Filter conditions without pushdown

Mode eksekusi kueri

QUERY_TYPE

Deskripsi Mengalihkan mode eksekusi kueri instans. Nilai yang valid: interactivebatchEdisi Kluster dalam mode cadangan dan kluster Edisi Data Lake tidak mendukung pengalihan mode eksekusi kueri.

SET ADB_CONFIG QUERY_TYPE=interactive;

Query execution modes

Konkurensi antrian kueri

XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE

Jumlah maksimum kueri yang berjalan secara konkuren dalam antrian LOWEST pada satu node frontend. Nilai default: 20.

SET ADB_CONFIG XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE=20;

Priority queues and concurrency of interactive resource groups

XIHE_ENV_QUERY_ETL_MAX_QUEUED_SIZE

Jumlah maksimum kueri dalam 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 berjalan secara konkuren dalam 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 dalam 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 berjalan secara konkuren dalam antrian NORMAL pada satu node frontend. Nilai default: 20. Saat batas terlampaui, kueri baru akan masuk antrian. Jika antrian penuh, error "Too many queued queries" akan dikembalikan. Anda dapat meningkatkan nilai ini atau membuat kelompok sumber daya kustom untuk mendistribusikan beban.

SET ADB_CONFIG XIHE_ENV_QUERY_NORMAL_MAX_CONCURRENT_SIZE=20;

XIHE_ENV_QUERY_NORMAL_MAX_QUEUED_SIZE

Jumlah maksimum kueri dalam 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 berjalan secara konkuren dalam 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 dalam antrian HIGH pada satu node frontend. Nilai default: 400.

SET ADB_CONFIG XIHE_ENV_QUERY_HIGH_MAX_QUEUED_SIZE=400;

Prioritas job XIHE BSP

QUERY_PRIORITY

Prioritas job BSP. Nilai valid:

  • HIGH

  • NORMAL (default)

  • LOW

  • LOWEST

SET ADB_CONFIG QUERY_PRIORITY=HIGH;

Parameters

Jumlah maksimum ACU yang digunakan oleh pengaturan job XIHE BSP

ELASTIC_JOB_MAX_ACU

Jumlah maksimum ACU yang dapat digunakan oleh satu job XIHE BSP. Nilai default: 9. Nilai minimum: 3. Nilai valid: [3, sumber daya maksimum kelompok sumber daya tipe job].

SET ADB_CONFIG ELASTIC_JOB_MAX_ACU=20;

Timeout kueri untuk job XIHE BSP

BATCH_QUERY_TIMEOUT

Periode timeout untuk Pekerjaan XIHE BSP. Nilai default: 7.200.000 ms. Nilai yang valid: bilangan bulat lebih dari 0. Satuan: milidetik.

SET ADB_CONFIG BATCH_QUERY_TIMEOUT=3600000 ;

Impor tabel eksternal: OSS

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Description Menentukan apakah akan mengirimkan tugas Hive Split secara asinkron ke antrian saat Hive menghasilkan rencana eksekusi. Nilai valid: true: Ya. false (default): Tidak.

SET ADB_CONFIG HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true;

None

Impor tabel eksternal: MaxCompute

SQL_OUTPUT_BATCH_SIZE

Jumlah baris per batch selama impor data. Nilai valid: bilangan bulat lebih besar dari 0.

SET ADB_CONFIG SQL_OUTPUT_BATCH_SIZE = 6000;

Import and export

ENABLE_ODPS_MULTI_PARTITION_PART_MATCH

Menentukan apakah akan melakukan traversal awal dan mengambil jumlah record di setiap partisi MaxCompute.

SET ADB_CONFIG ENABLE_ODPS_MULTI_PARTITION_PART_MATCH=false;

ASYNC_GET_SPLIT

Menentukan apakah akan mengirimkan tugas secara asinkron ke antrian dengan mengoptimalkan performa pemuatan Split saat MaxCompute menghasilkan rencana eksekusi. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

Catatan Parameter ini hanya didukung pada versi kernel 3.1.10.1 dan lebih baru.

SET ADB_CONFIG ASYNC_GET_SPLIT=true;

Penjadwalan BUILD otomatis

RC_CSTORE_BUILD_SCHEDULE_PERIOD

Description Membatasi periode waktu untuk penjadwalan tugas BUILD. Ini tidak membatasi periode waktu eksekusi tugas BUILD. Nilai valid: bilangan bulat dari 0 hingga 24. SET ADB_CONFIG RC_CSTORE_BUILD_SCHEDULE_PERIOD=`6,8`; Reference

BUILD

Prioritas penjadwalan BUILD

Description Memungkinkan Anda mengonfigurasi prioritas penjadwalan BUILD untuk satu atau beberapa tabel. Prioritas tetap berlaku hingga Anda mengonfigurasinya ulang. Prioritas penjadwalan BUILD dikontrol oleh parameter task_priority. Nilai valid: bilangan bulat. Nilai default: 0.

Memungkinkan Anda mengonfigurasi prioritas penjadwalan BUILD untuk satu tabel atau beberapa tabel. Prioritas tetap berlaku hingga Anda mengonfigurasinya ulang.

Prioritas penjadwalan BUILD dikontrol oleh parametertask_priority. Nilai valid: 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

Anda harus mengaktifkan secara manual sakelar impor elastis untuk impor elastis.

SET ADB_CONFIG RC_ELASTIC_JOB_SCHEDULER_ENABLE=true; Reference

Fungsi REMOTE_CALL

XIHE_REMOTE_CALL_SERVER_ENDPOINT

Memanggil fungsi secara remote melalui fungsi kustom Function Compute REMOTE_CALL, titik akhir internal Function Compute. Untuk informasi lebih lanjut, lihatService endpoints.

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

UDFs

XIHE_REMOTE_CALL_SERVER_AK

ID AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki layanan Function Compute saat Anda menggunakan fungsi REMOTE_CALL untuk memanggil fungsi kustom secara remote.

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

XIHE_REMOTE_CALL_SERVER_SK

Secret AccessKey dari Akun Alibaba Cloud atau Pengguna RAM yang memiliki layanan Function Compute saat Anda menggunakan fungsi REMOTE_CALL untuk memanggil fungsi kustom secara remote.

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

XIHE_REMOTE_CALL_COMPRESS_ENABLED

Menentukan apakah akan menggunakan kompresi GZIP untuk mengompres data sebelum mengirimkannya ke Function Compute saat Anda menggunakan fungsi REMOTE_CALL untuk memanggil fungsi kustom secara remote.

SET ADB_CONFIG REMOTE_CALL_COMPRESS_ENABLED=true;

XIHE_REMOTE_CALL_MAX_BATCH_SIZE

Jumlah baris data yang dikirim ke Function Compute saat Anda menggunakan fungsi REMOTE_CALL untuk memanggil fungsi kustom secara remote.

SET ADB_CONFIG XIHE_REMOTE_CALL_MAX_BATCH_SIZE=500000;

Kontrol konkurensi pemindaian

  • true (default): Mengaktifkan kontrol konkurensi pemindaian.

  • false: Menonaktifkan kontrol konkurensi pemindaian.

AnalyticDB for MySQL memungkinkan Anda mengonfigurasi kuota konkurensi pemindaian untuk mencegah ketidakstabilan node akibat konkurensi pemindaian berlebihan yang mengonsumsi terlalu banyak sumber daya. Nilai valid:

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

  • false: Nonaktifkan kontrol konkurensi pemindaian.

SET ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED=true;

Split flow control

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

  • true: Mengaktifkan penyesuaian dinamis kontrol konkurensi pemindaian tugas.

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

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

  • true: Aktifkan penyesuaian dinamis kontrol konkurensi pemindaian tugas.

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

SET ADB_CONFIG NODE_LEVEL_SPLIT_FLOW_CONTROL_ENABLED=true;

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian minimum per tugas. Nilai default: 1. Nilai 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 target (titik tengah) per tugas. Sistem akan menambah atau mengurangi kuota konkurensi pemindaian berdasarkan nilai ini. Nilai default: 32. Nilai 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 per tugas. Nilai default: 64. Nilai valid: lebih besar dari TARGET_RUNNING_SPLITS_LIMIT_PER_TASK.

SET ADB_CONFIG MAX_RUNNING_SPLITS_LIMIT_PER_TASK=128;

Kuota konkurensi pemindaian default untuk node penyimpanan adalah 256. Nilai yang terlalu tinggi atau terlalu rendah dapat memengaruhi performa kluster. Kami menyarankan agar Anda tidak mengubah nilai default ini.

Kuota konkurensi pemindaian default untuk node penyimpanan adalah 256. Nilai yang terlalu besar atau terlalu kecil dapat memengaruhi performa kluster. Kami menyarankan agar Anda tidak mengubah nilai default ini.

SET ADB_CONFIG WORKER_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

Kuota konkurensi pemindaian default untuk node komputasi adalah 256. Nilai yang terlalu tinggi atau terlalu rendah dapat memengaruhi performa kluster. Kami menyarankan agar Anda tidak mengubah nilai default ini.

Kuota konkurensi pemindaian default untuk node komputasi adalah 256. Nilai yang terlalu besar atau terlalu kecil dapat memengaruhi performa kluster. Kami menyarankan agar Anda tidak mengubah nilai default ini.

SET ADB_CONFIG EXECUTOR_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

Sensitivitas huruf besar/kecil tampilan logis

VIEW_OUTPUT_NAME_CASE_SENSITIVE

Description Menentukan apakah nama tampilan logis bersifat case-sensitive. Nilai valid: true: Case-sensitive. false (default): Case-insensitive.

SET ADB_CONFIG VIEW_OUTPUT_NAME_CASE_SENSITIVE=true;

CREATE VIEW

Description Mengaktifkan secara manual fitur Multi-Statement untuk mengeksekusi beberapa pernyataan SQL secara berurutan. Nilai valid: true: Diaktifkan. false (default): Dinonaktifkan.

ALLOW_MULTI_QUERIES

Aktifkan secara manual fitur Multi-Statement untuk mengeksekusi beberapa pernyataan SQL secara berurutan. Nilai valid:

  • true: Aktifkan.

  • false (Nilai default): Nonaktifkan.

SET ADB_CONFIG ALLOW_MULTI_QUERIES=true;

Multi-statement

Aktifkan binary logging

BINLOG_ENABLE

Description Untuk kluster dengan versi kernel sebelum 3.2.0.0, Anda harus mengaktifkan secara manual fitur Binlog sebelum dapat mengaktifkan Binlog untuk tabel. Untuk kluster dengan versi kernel 3.2.0.0 atau lebih baru, fitur Binlog diaktifkan secara default. Anda tidak perlu mengonfigurasi parameter ini. SET ADB_CONFIG BINLOG_ENABLE=true;

Refresh materialized views

Database yang digunakan untuk menyimpan tabel cache sementara untuk kueri paging. Jika tidak ditentukan, database internal dari koneksi saat ini akan digunakan.

PAGING_CACHE_SCHEMA

Tentukan database untuk menyimpan tabel cache paging sementara. Jika tidak ditentukan, database internal dari koneksi saat ini akan digunakan.

SET ADB_CONFIG PAGING_CACHE_SCHEMA=paging_cache;

Paging cache (performance optimization for deep paged queries)

PAGING_CACHE_MAX_TABLE_COUNT

Jumlah maksimum tabel cache sementara. Pembuatan cache baru akan gagal jika batas ini terlampaui. Nilai default: 100. Nilai valid: bilangan bulat lebih besar dari 0.

SET ADB_CONFIG PAGING_CACHE_MAX_TABLE_COUNT=100;

PAGING_CACHE_EXPIRATION_TIME

Ambang batas waktu kedaluwarsa cache. Cache yang tidak diakses dalam periode tertentu akan dibersihkan secara otomatis. Nilai default: 600. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: detik.

SET ADB_CONFIG PAGING_CACHE_EXPIRATION_TIME=600;

PAGING_CACHE_ENABLE

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

  • true (default): Diaktifkan.

  • false: Dinonaktifkan.

SET ADB_CONFIG PAGING_CACHE_ENABLE=false;

Tentukan mesin tabel

RC_DDL_ENGINE_REWRITE_XUANWUV2

Description Menentukan mesin tabel di tingkat kluster. Nilai valid: true (default): Tabel yang ada mempertahankan mesin saat ini. Tabel baru menggunakan XUANWU_V2 secara default. Bahkan jika Anda secara eksplisit menentukan ENGINE=XUANWU saat membuat tabel, mesin akan secara otomatis diubah menjadi XUANWU_V2. false: Tabel yang ada mempertahankan mesin saat ini. Tabel baru menggunakan XUANWU secara default.

SET ADB_CONFIG RC_DDL_ENGINE_REWRITE_XUANWUV2=true;

Configure the table engine

Hint umum

Kategori

Parameter

Deskripsi

Contoh

Referensi

Timeout kueri

QUERY_TIMEOUT

Description Periode timeout untuk eksekusi kueri. Nilai default: 1800000 ms (30 menit). Parameter ini hanya mengontrol timeout eksekusi pernyataan SQL. Tidak memengaruhi timeout koneksi atau timeout idle session. SET ADB_CONFIG QUERY_TIMEOUT=1000;

Writes and queries

Timeout INSERT, UPDATE, DELETE

INSERT_SELECT_TIMEOUT

Description Waktu eksekusi maksimum untuk pernyataan INSERT, UPDATE, dan DELETE di tingkat kluster. Nilai default: 24*3600000. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: milidetik. SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000; Reference

Limits

Nonaktifkan predicate pushdown

Parameters Versi kernel 3.1.4 atau lebih baru: FILTER_NOT_PUSHDOWN_COLUMNS Versi kernel sebelum 3.1.4: NO_INDEX_COLUMNS Description Menonaktifkan predicate pushdown untuk kolom tertentu di tingkat kluster.

Nonaktifkan predicate pushdown untuk kolom tertentu di tingkat kueri.

  • Versi kernel 3.1.4 atau lebih baru: /*+ FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.table1:colName1|colName2;Schema2.table2:colName1|colName2] */

  • Versi kernel sebelum 3.1.4: /*+ NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1] */

Filter conditions without pushdown

Prioritas penjadwalan BUILD

BUILD_TASK_PRIORITY

Memodifikasi prioritas penjadwalan tugas BUILD. Saat ini, Anda hanya dapat menggunakan hint untuk mengonfigurasi prioritas penjadwalan BUILD untuk tabel individual. Nilai default: 0. Nilai valid: bilangan bulat lebih besar atau sama dengan 0. Nilai yang lebih besar menunjukkan prioritas lebih tinggi.

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

Set scheduling priorities

Impor elastis

Mengaktifkan impor elastis dan mengonfigurasi kelompok sumber daya tipe job untuk menjalankan tugas impor elastis.

Pilih Elastic Import dan konfigurasi kelompok sumber daya job untuk 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;

Implementasi Hash Join menggunakan tabel kanan untuk pembangunan. Left Join tidak mengurutkan ulang tabel kiri dan kanan. Ketika tabel kanan berisi data dalam jumlah besar, hal ini dapat menyebabkan eksekusi lambat dan konsumsi memori berlebihan. Anda dapat menambahkan hint untuk menginstruksikan pengoptimal mengonversi Left Join menjadi Right Join berdasarkan konsumsi sumber daya. Nilai valid:

  • true: Diaktifkan.

  • false (default): Dinonaktifkan.

  • Versi kernel 3.1.8 atau lebih baru: O_CBO_RULE_SWAP_OUTER_JOIN

  • Versi kernel sebelum 3.1.8: LEFT_TO_RIGHT_ENABLED

Implementasi Hash Join menggunakan tabel kanan untuk pembangunan. Left Join tidak mengurutkan ulang tabel kiri dan kanan. Ketika tabel kanan besar, hal ini dapat menyebabkan eksekusi lambat dan konsumsi memori berlebihan. Anda dapat menambahkan hint untuk menginstruksikan pengoptimal mengonversi Left Join menjadi Right Join berdasarkan penggunaan sumber daya. Nilai valid:

  • true: Aktifkan.

  • false (Nilai default): Nonaktifkan.

  • /*+ O_CBO_RULE_SWAP_OUTER_JOIN=true*/

  • /*+ LEFT_TO_RIGHT_ENABLED=true*/

Change LEFT JOIN to RIGHT JOIN

REORDER_JOINS

AnalyticDB for MySQL mengaktifkan pengurutan ulang join otomatis secara default. Anda dapat menyesuaikan secara manual urutan join berdasarkan karakteristik data sehingga kueri mengikuti urutan join yang ditentukan dalam pernyataan SQL. Nilai valid:

  • true (default): Mengaktifkan pengurutan ulang join otomatis.

  • false: Menonaktifkan pengurutan ulang join otomatis.

/*+ REORDER_JOINS=false*/

Manually adjust the join order

AGGREGATION_PATH_TYPE

Saat menggunakan agregasi dua fase, sejumlah besar grup dalam agregasi group-by mengonsumsi sumber daya komputasi signifikan. Anda dapat menggunakan hint ini untuk melewati agregasi lokal dan langsung melakukan agregasi final. Nilai valid:

  • single_agg: Melewati agregasi lokal.

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

/*+ AGGREGATION_PATH_TYPE=single_agg*/

Grouping and aggregation query optimization

Setiap tugas komputasi dibagi menjadi beberapa tugas konkuren untuk memanfaatkan sepenuhnya sumber daya komputasi. Anda dapat menggunakan hint ini untuk mengatur konkurensi. Nilai default: 32. Nilai valid: bilangan bulat lebih besar dari 0.

HASH_PARTITION_COUNT

Setiap tugas komputasi dibagi menjadi beberapa tugas konkuren untuk memanfaatkan sepenuhnya sumber daya komputasi. Anda dapat menggunakan hint ini untuk mengatur konkurensi. Nilai default: 32. Nilai valid: bilangan bulat positif.

/*+ HASH_PARTITION_COUNT=32*/

None

BATCH_HASH_PARTITION_COUNT

Nilai default: 32. Nilai valid: bilangan bulat lebih besar dari 0.

Penting

Dalam mode batch (query_execution_type=batch), mengatur nilai ini terlalu tinggi dapat menyebabkan jumlah tugas konkuren berlebihan pada satu node, yang mengarah pada overflow memory pool. Saat kluster memiliki lebih dari 32 node komputasi, kami menyarankan Anda mengatur parameter ini ke jumlah node komputasi untuk menghindari masalah batas disk.

/*+ BATCH_HASH_PARTITION_COUNT=64, QUERY_EXECUTION_TYPE=batch */ SELECT ...

TASK_WRITER_COUNT

Konkurensi tugas impor INSERT INTO SELECT. Saat beban worker terlalu tinggi, Anda dapat mengurangi nilai ini. Nilai default: 16. Nilai valid: bilangan bulat lebih besar dari 0.

/*+ TASK_WRITER_COUNT=8*/

CTE_EXECUTION_MODE

Menentukan apakah akan mengaktifkan optimasi eksekusi CTE. Saat diaktifkan, subkueri CTE yang direferensikan beberapa kali hanya dieksekusi sekali, meningkatkan performa kueri. Nilai valid:

  • shared: Mengaktifkan optimasi eksekusi CTE.

  • inline (default): Menonaktifkan optimasi eksekusi CTE.

/*+ CTE_EXECUTION_MODE=shared*/

WITH

Batas kondisi kueri

QUERY_MAX_SHUFFLE_DATA_SIZE_MB

Ukuran data Shuffle maksimum untuk sebuah kueri. Secara default, tidak ada error yang dipicu terlepas dari volume data. Jika parameter ini diatur, sistem akan menghentikan kueri dan melaporkan error saat volume data melebihi ambang batas. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: MB.

/*+ QUERY_MAX_SHUFFLE_DATA_SIZE_MB=1024*/

None

MAX_SELECT_ITEMS_COUNT

Description Jumlah maksimum kolom dalam pernyataan SELECT. Nilai default: 1024. Meningkatkan nilai ini dapat memengaruhi stabilitas kluster. Kami tidak menyarankan Anda mengubah nilai ini. SET ADB_CONFIG MAX_SELECT_ITEMS_COUNT=1000; Reference

MAX_IN_ITEMS_COUNT

Description Menetapkan jumlah maksimum item dalam kondisi IN. Nilai valid: bilangan bulat positif lebih besar dari 0. Untuk kluster dengan versi kernel sebelum 3.2.8, nilai default adalah 4000. Untuk kluster dengan versi kernel 3.2.8 atau lebih baru, nilai default adalah 20000.

/*+ MAX_IN_ITEMS_COUNT=1000*/

MAX_WHERE_ITEMS_COUNT

Menetapkan jumlah maksimum item dalam klausa WHERE. Nilai default: 256. Nilai valid: bilangan bulat lebih besar dari 0.

/*+ MAX_WHERE_ITEMS_COUNT=512*/

Prioritas job XIHE BSP

QUERY_PRIORITY

Prioritas job BSP. Nilai valid:

  • HIGH

  • NORMAL (default)

  • LOW

  • LOWEST

/*+ QUERY_PRIORITY=HIGH*/

Parameters

Jumlah maksimum ACU yang digunakan oleh pengaturan job XIHE BSP

ELASTIC_JOB_MAX_ACU

Jumlah maksimum ACU yang dapat digunakan oleh satu job XIHE BSP. Nilai default: 9. Nilai minimum: 3. Nilai valid: [3, sumber daya maksimum kelompok sumber daya tipe job].

/*+ ELASTIC_JOB_MAX_ACU=20*/

Timeout kueri untuk job XIHE BSP

BATCH_QUERY_TIMEOUT

Periode timeout untuk job XIHE BSP. Nilai default: 7200000 ms. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: milidetik.

/*+ BATCH_QUERY_TIMEOUT=3600000*/

Tabel eksternal OSS

OUTPUT_FILENAME

Menyesuaikan nama file yang disimpan di OSS saat Anda mengekspor data melalui tabel eksternal OSS.

/*+ OUTPUT_FILENAME=output.csv*/

Export data to OSS

SQL_OUTPUT_OSS_FILE_HEAD_ENABLE

Menentukan apakah akan menyertakan nama kolom dalam file data yang diekspor ke OSS. Secara default, file yang diekspor hanya berisi data tanpa nama kolom. Nilai valid:

  • true: Sertakan nama kolom.

  • false (default): Jangan sertakan nama kolom.

/*+ SQL_OUTPUT_OSS_FILE_HEAD_ENABLE=true*/

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Description Menentukan apakah akan mengirimkan tugas Hive Split secara asinkron ke antrian saat Hive menghasilkan rencana eksekusi. Nilai valid: true: Ya. false (default): Tidak.

/*+ HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true*/

Import OSS data using external tables

FAST_PARQUET_READER_ENABLE

Menentukan apakah akan kembali ke pembaca Parquet native saat statistik dalam file Parquet salah. Nilai valid:

  • true (default): Ya.

  • false: Tidak.

/*+ FAST_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_ENABLE

Menentukan apakah akan mengaktifkan sakelar baca vektorisasi Parquet saat tidak ada nilai NULL dalam data. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ OSS_VECTORIZED_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE

Menentukan apakah akan mengaktifkan sakelar baca vektorisasi Parquet saat nilai NULL ada dalam data. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE=true*/

Menentukan apakah akan memuat metadata Hudi. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

Menentukan apakah akan memuat metadata Hudi. Nilai valid:

  • true: Ya.

  • false (Nilai default): Tidak.

/*+ HUDI_METADATA_TABLE_ENABLED=true*/

HUDI_QUERY_TYPE

Menetapkan mode kueri untuk tabel Hudi. Nilai valid:

  • snapshot: Mengkueri semua data yang telah dikomit atau dikompaksi pada waktu tertentu.

  • read_optimized (default): Mengkueri data setelah komit atau kompaksi terakhir.

/*+ HUDI_QUERY_TYPE=snapshot*/

HUDI_REALTIME_SKIP_MERGE

Menentukan apakah akan melewati penggabungan file dasar dan file log saat mengkueri data tabel Hudi dalam mode snapshot. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ HUDI_REALTIME_SKIP_MERGE=true*/

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

最大Split的大小。默认值为128。单位:MB。

/*+ HUDI_MAX_SPLIT_SIZE=128*/

HUDI_SPLIT_PARALLEL_GENERATION_ENABLED

Menentukan apakah akan menghasilkan split secara paralel. Nilai valid:

  • true (default): Ya.

  • false: Tidak.

/*+ HUDI_SPLIT_PARALLEL_GENERATION_ENABLED=true*/

HUDI_DATA_SKIPPING_ENABLED

Menggunakan statistik dari Hudi MetaTable untuk melewati split yang tidak perlu dibaca, meningkatkan performa kueri. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ HUDI_DATA_SKIPPING_ENABLED=true*/

HUDI_SPLIT_ASYNC_GENERATION_ENABLED

Menentukan apakah akan menghasilkan split Hudi secara asinkron selama pembuatan rencana eksekusi. Nilai valid:

  • true (default): Ya.

  • false: Tidak.

/*+ HUDI_SPLIT_ASYNC_GENERATION_ENABLED=true*/

Tabel eksternal RDS MySQL

JDBC_SCAN_SPLITS

Jumlah split saat melakukan TableScan melalui JDBC. Nilai default: 1. Nilai valid: 1 hingga 100.

/*+ JDBC_SCAN_SPLITS=1*/

Import RDS MySQL data by using an external table

JDBC_SPLIT_COLUMN

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

/*+ JDBC_SPLIT_COLUMN=column1*/

JDBC_INSERT_DIRECTLY

Saat menulis data ke tabel eksternal RDS MySQL, data ditulis ke tabel sementara terlebih dahulu lalu ke tabel target secara default. Anda dapat menggunakan hint ini untuk menulis data langsung ke tabel target. Namun, jika terjadi error selama penulisan, tabel target mungkin berisi data kotor. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ JDBC_INSERT_DIRECTLY=true*/

Tabel eksternal Tablestore

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

  • true: Ya.

  • false (default): Tidak.

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

  • true: Ya.

  • false (Nilai default): Tidak.

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

Query and import data from Tablestore

Tabel eksternal MaxCompute

ODPS_SPLIT_LIMIT

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

/*+ ODPS_SPLIT_LIMIT=1000*/

Import MaxCompute data using external tables

IGNORE_PARTITION_CACHE

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

  • true: Ya.

  • false (default): Tidak.

/*+ IGNORE_PARTITION_CACHE=true*/

ROWS_PER_SPLIT

Jumlah maksimum baris per split saat membaca data melalui Tunnel. Nilai default: 500000. Nilai valid: 10000 hingga 500000.

/*+ ROWS_PER_SPLIT=500000*/

STORAGE_API_ENABLED

Menentukan apakah akan menggunakan API Penyimpanan MaxCompute untuk membaca data MaxCompute. API Penyimpanan memberikan performa baca yang jauh lebih baik daripada Tunnel tradisional. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

/*+ STORAGE_API_ENABLED=true*/

APLIT_BYTE_SIZE

Ukuran maksimum per split saat membaca data melalui API Penyimpanan MaxCompute. Nilai default: 256. Satuan: MB.

/*+ APLIT_BYTE_SIZE=256*/

MAX_BATCH_ROW_COUNT

Jumlah maksimum baris per split saat membaca data melalui API Penyimpanan MaxCompute. Nilai default: 1024.

/*+ MAX_BATCH_ROW_COUNT=1024*/

PAGE_BATCH_SIZE

Jumlah maksimum baris per halaman saat membaca data melalui API Penyimpanan MaxCompute. Nilai default: 1024.

/*+ PAGE_BATCH_SIZE=1024*/

MAX_ALLOCATION_PER_SPLIT

Memori puncak maksimum yang dialokasikan per split saat membaca data melalui API Penyimpanan MaxCompute. Nilai default: 300. Satuan: MB.

/*+ MAX_ALLOCATION_PER_SPLIT=300*/

ASYNC_GET_SPLIT

Menentukan apakah akan mengirimkan tugas secara asinkron ke antrian dengan mengoptimalkan performa pemuatan Split saat MaxCompute menghasilkan rencana eksekusi. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

Catatan Parameter ini hanya didukung pada versi kernel 3.1.10.1 dan lebih baru.

/*+ ASYNC_GET_SPLIT=true*/

Kontrol konkurensi pemindaian

SPLIT_FLOW_CONTROL_ENABLED

  • true (default): Mengaktifkan kontrol konkurensi pemindaian.

  • false: Menonaktifkan kontrol konkurensi pemindaian.

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

Split flow control

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

Kuota konkurensi pemindaian minimum per tugas. Nilai default: 1. Nilai 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 target (titik tengah) per tugas. Sistem akan menambah atau mengurangi kuota konkurensi pemindaian berdasarkan nilai ini. Nilai default: 32. Nilai 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 per tugas. Nilai default: 64. Nilai valid: lebih besar dari TARGET_RUNNING_SPLITS_LIMIT_PER_TASK.

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

Aktifkan fitur cache paging dan tentukan secara manual paging_id untuk mengidentifikasi sekelompok kueri paging terkait (yaitu, kueri dengan pola yang sama tetapi nilai parameter LIMIT dan OFFSET berbeda).

PAGING_ID

Aktifkan fitur paging cache dan secara manual tentukanpaging_id untuk mengidentifikasi sekelompok kueri paging terkait (yaitu, sekelompok kueri dengan pola yang sama tetapi nilai parameter LIMIT dan OFFSET berbeda).

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

Paging cache (performance optimization for deep paged queries)

PAGING_CACHE_ENABLED

Mengaktifkan fitur Paging Cache dan secara otomatis menghasilkan paging_id berdasarkan pola SQL untuk mengidentifikasi cache untuk sekelompok kueri paging terkait. Nilai valid:

  • true: Mengaktifkan fitur Paging Cache.

  • false (default): Menonaktifkan fitur Paging Cache.

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

PAGING_CACHE_VALIDITY_INTERVAL

Menetapkan periode validitas cache. Setelah periode ini, cache kedaluwarsa. Jika cache tidak diakses dalam satu jam setelah kedaluwarsa, sistem secara otomatis menghapus tabel cache sementara yang sesuai. Nilai valid: bilangan bulat lebih besar dari 0. Satuan: detik. Parameter ini harus digunakan bersama dengan 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

Menentukan apakah akan membersihkan cache kueri paging untuk pola tertentu. Nilai valid:

  • true: Ya.

  • false (default): Tidak.

Parameter ini harus digunakan bersama dengan 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

Description Menentukan mesin tabel di tingkat kluster. Nilai valid: true (default): Tabel yang ada mempertahankan mesin saat ini. Tabel baru menggunakan XUANWU_V2 secara default. Bahkan jika Anda secara eksplisit menentukan ENGINE=XUANWU saat membuat tabel, mesin akan secara otomatis diubah menjadi XUANWU_V2. false: Tabel yang ada mempertahankan mesin saat ini. Tabel baru menggunakan XUANWU secara default.

/*+ RC_DDL_ENGINE_REWRITE_XUANWUV2=true */

Configure the table engine

Lainnya

RESOURCE_GROUP

Menentukan kelompok sumber daya untuk kueri. Jika tidak ditentukan, kelompok sumber daya yang terikat ke akun database akan digunakan. Jika tidak ada kelompok sumber daya yang terikat ke akun, kelompok sumber daya default akan digunakan.

/*+ RESOURCE_GROUP=my_group_name*/

None

DML_EXCEPTION_TO_NULL_ENABLED

Menentukan apakah akan melemparkan exception saat nilai tidak valid ditemui selama operasi INSERT SELECT. Nilai valid:

  • true: Tidak melemparkan exception. Menulis nilai NULL sebagai gantinya.

  • false (default): Melemparkan exception.

/*+ DML_EXCEPTION_TO_NULL_ENABLED=true*/

DISPLAY_HINT

Digunakan untuk memberi tag kueri, misalnya untuk mengidentifikasi kueri dari sumber bisnis berbeda.

/*+ DISPLAY_HINT=from_user_123*/

FAQ

Bagaimana cara menghapus parameter konfigurasi?

Jika Anda telah mengatur parameter konfigurasi menggunakan SET ADB_CONFIG key=value; dan ingin mengembalikannya ke nilai default, gunakan metode berikut.

Metode

Contoh

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

Setelah perintah dieksekusi, Anda dapat menjalankan SHOW ADB_CONFIG KEY=key; untuk memverifikasi bahwa parameter telah dikembalikan ke nilai default.