すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:設定とヒントの構成パラメーター

最終更新日:Feb 06, 2026

AnalyticDB for MySQL は、パラメーターを設定するための2つの方法をサポートしています。 SET ADB_CONFIG KEY=VALUE コマンドとヒント (構文: /*+ KEY=VALUE*/) です。SET ADB_CONFIG コマンドはグローバル設定を変更し、設定をクラスター全体に適用します。ヒントは、それを含む SQL ステートメントにのみ適用され、グローバル設定には影響しません。 SET ADB_CONFIG コマンドとヒントの両方を使用してパラメーターを設定した場合、ヒントが優先されます。このトピックでは、AnalyticDB for MySQL の一般的な設定パラメーターについて説明します。

一般的な設定パラメーター

Milvus クラスターバージョン 3.2.5 以降では、システムが設定タイプを検証します。

説明

マイナーバージョンを表示および更新するには、AnalyticDB for MySQL コンソールクラスター情報ページにある構成情報セクションに移動します。

カテゴリ

パラメーター

説明

ドキュメントリンク

スイッチオーバーウィンドウ

REPLICATION_SWITCH_TIME_RANGE

新しいクラスターへのスイッチオーバー中、古いクラスターは5〜10分間、読み取り専用操作をサポートします。古いクラスターに接続した後、REPLICATION_SWITCH_TIME_RANGE を設定して、古いクラスターと新しいクラスターのスイッチオーバータイムウィンドウを指定します。

説明

古いクラスターと新しいクラスターのスイッチオーバータイムウィンドウを設定しない場合、古いクラスターのすべての増分データがリアルタイムで新しいクラスターに同期された後、古いクラスターと新しいクラスターは自動的にスイッチオーバーします。

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

Data Warehouse Edition クラスターのスケーリング

IN 条件の制限

MAX_IN_ITEMS_COUNT

IN 条件の数を制限します。値は0より大きい正の整数である必要があります。

  • Milvus バージョン 3.1.8 以前のクラスターの場合、デフォルト値は 2000 です。

  • Milvus バージョン 3.1.9.x から 3.1.10.x のクラスターの場合、デフォルト値は 4000 です。

  • Milvus バージョン 3.2.1 以降のクラスターの場合、デフォルト値は 20000 です。

SET ADB_CONFIG MAX_IN_ITEMS_COUNT=4000;

書き込みとクエリ

クエリ タイムアウト期間

QUERY_TIMEOUT

クラスターレベルで、すべてのクエリに対するタイムアウト期間を設定します。値は 0 より大きい整数である必要があります。単位:ミリ秒 (ms)。

SET ADB_CONFIG QUERY_TIMEOUT=1000;

INSERT、UPDATE、および DELETE ステートメントのタイムアウト期間

INSERT_SELECT_TIMEOUT

クラスターレベルで INSERT、UPDATE、および DELETE ステートメントの最大実行時間を変更します。デフォルト値: 24×3600000。値は0より大きい整数である必要があります。単位: ミリ秒 (ms)。

SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000;

制限

フィルター条件プッシュダウンの無効化

  • Milvus バージョン 3.1.4 以降: FILTER_NOT_PUSHDOWN_COLUMNS

  • Milvus バージョン 3.1.4 以前: NO_INDEX_COLUMNS

クラスターレベルで特定のフィールドのフィルター条件プッシュダウンを無効にします。

  • カーネルバージョン 3.1.4 以降: SET ADB_CONFIG FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.tableName1:colName1|colName2;Schema2.tableName2:colName1|colName2]

  • Milvus バージョン 3.1.4 以前: SET ADB_CONFIG NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1]

プッシュダウンなしのフィルター条件

クエリ実行モード

QUERY_TYPE

インスタンスのクエリ実行モードを切り替えます。有効な値は次のとおりです。

  • interactive

  • batch

説明

予約モードの AnalyticDB for MySQL Data Warehouse Edition クラスター、または AnalyticDB for MySQL Enterprise Edition、Basic Edition、および Data Lakehouse Edition クラスターでは、クエリ実行モードを変更できません。

SET ADB_CONFIG QUERY_TYPE=interactive;

クエリ実行モード

クエリキュー

XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE

単一のフロントエンドノードで LOWEST キューで同時に実行できるクエリの最大数。デフォルト値: 20。

SET ADB_CONFIG XIHE_ENV_QUERY_ETL_MAX_CONCURRENT_SIZE=20;

インタラクティブなリソースグループの優先度キューと同時実行性

XIHE_ENV_QUERY_ETL_MAX_QUEUED_SIZE

単一のフロントエンドノードで LOWEST キューにキューに入れられるクエリの最大数。デフォルト値: 200。

SET ADB_CONFIG XIHE_ENV_QUERY_ETL_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_LOW_PRIORITY_MAX_CONCURRENT_SIZE

単一のフロントエンドノードで LOW キューで同時に実行できるクエリの最大数。デフォルト値: 20。

SET ADB_CONFIG XIHE_ENV_QUERY_LOW_PRIORITY_MAX_CONCURRENT_SIZE=20;

XIHE_ENV_QUERY_LOW_PRIORITY_MAX_QUEUED_SIZE

単一のフロントエンドノードで LOW キューにキューに入れられるクエリの最大数。デフォルト値: 200。

SET ADB_CONFIG XIHE_ENV_QUERY_LOW_PRIORITY_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_NORMAL_MAX_CONCURRENT_SIZE

単一のフロントエンドノードで NORMAL キューで同時に実行できるクエリの最大数。デフォルト値: 20。

SET ADB_CONFIG XIHE_ENV_QUERY_NORMAL_MAX_CONCURRENT_SIZE=20;

XIHE_ENV_QUERY_NORMAL_MAX_QUEUED_SIZE

単一のフロントエンドノードで NORMAL キューにキューに入れられるクエリの最大数。デフォルト値: 200。

SET ADB_CONFIG XIHE_ENV_QUERY_NORMAL_MAX_QUEUED_SIZE=200;

XIHE_ENV_QUERY_HIGH_MAX_CONCURRENT_SIZE

単一のフロントエンドノードで HIGH キューで同時に実行できるクエリの最大数。デフォルト値: 40。

SET ADB_CONFIG XIHE_ENV_QUERY_HIGH_MAX_CONCURRENT_SIZE=40;

XIHE_ENV_QUERY_HIGH_MAX_QUEUED_SIZE

単一のフロントエンドノードで HIGH キューにキューに入れられるクエリの最大数。デフォルト値: 400。

SET ADB_CONFIG XIHE_ENV_QUERY_HIGH_MAX_QUEUED_SIZE=400;

XIHE BSP ジョブの優先度

QUERY_PRIORITY

BSP ジョブの優先度。有効な値は次のとおりです。

  • HIGH

  • NORMAL (デフォルト)

  • LOW

  • LOWEST

SET ADB_CONFIG QUERY_PRIORITY=HIGH;

設定項目リスト

XIHE BSP ジョブの最大 ACU

ELASTIC_JOB_MAX_ACU

1 つの XIHE BSP タスクで使用される ACU の最大数。デフォルト値は 9、最小値は 3、有効値

3(ジョブ型リソースグループの最大リソース量)です。

SET ADB_CONFIG ELASTIC_JOB_MAX_ACU=20;

XIHE BSP ジョブクエリのタイムアウト期間

BATCH_QUERY_TIMEOUT

XIHE BSP ジョブのタイムアウト期間。デフォルト値: 7200000 ms。値は0より大きい整数である必要があります。単位: ミリ秒 (ms)。

SET ADB_CONFIG BATCH_QUERY_TIMEOUT=3600000 ;

OSS 外部テーブルからのインポート

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Hive が実行計画を生成する際、Hive Split タスクを非同期で実行キューに送信するかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト): いいえ。

説明

このパラメーターは Milvus バージョン 3.1.10.1 以降でのみサポートされています。

SET ADB_CONFIG HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true;

なし

MaxCompute 外部テーブルからのインポート

SQL_OUTPUT_BATCH_SIZE

データをバッチでインポートする際のデータエントリ数。値は0より大きい整数である必要があります。

SET ADB_CONFIG SQL_OUTPUT_BATCH_SIZE = 6000;

インポートとエクスポート

ENABLE_ODPS_MULTI_PARTITION_PART_MATCH

各 MaxCompute パーティションのレコード数を事前走査して取得するかどうかを指定します。

SET ADB_CONFIG ENABLE_ODPS_MULTI_PARTITION_PART_MATCH=false;

ASYNC_GET_SPLIT

MaxCompute が実行計画を生成する際、タスクを非同期で実行キューに送信することで、スプリットロードパフォーマンスを最適化するかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • デフォルト値は false で、いいえを示します。

説明

このパラメーターは Milvus バージョン 3.1.10.1 以降でのみサポートされています。

SET ADB_CONFIG ASYNC_GET_SPLIT=true;

BUILD ジョブの自動スケジューリング時間

RC_CSTORE_BUILD_SCHEDULE_PERIOD

BUILD タスクのスケジューリング時間範囲を制限します。タスク実行時間範囲ではありません。値は0から24までの整数である必要があります。

SET ADB_CONFIG RC_CSTORE_BUILD_SCHEDULE_PERIOD=`6,8`;

自動 BUILD スケジューリング時間の設定

BUILD ジョブのスケジューリング優先度

ADB_CONFIG RC_BUILD_TASK_PRIORITY_LIST

単一または複数のテーブルの BUILD ジョブのスケジューリング優先度を設定します。優先度は、テーブルに新しい優先度を設定するまで有効なままです。

BUILD ジョブのスケジューリング優先度は、task_priority パラメーターによって制御されます。値は整数である必要があります。デフォルト値: 0。

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

BUILD

エラスティックインポート

RC_ELASTIC_JOB_SCHEDULER_ENABLE

データをエラスティックにインポートする際、エラスティックインポートスイッチを手動で有効にします。

SET ADB_CONFIG RC_ELASTIC_JOB_SCHEDULER_ENABLE=true;

REMOTE_CALL 関数

XIHE_REMOTE_CALL_SERVER_ENDPOINT

REMOTE_CALL 関数を使用して Function Compute サービス のユーザー定義関数をリモートで呼び出す際に使用される、Function Compute サービスの内部サービスエンドポイントです。詳細については、「サービスエンドポイント」をご参照ください。

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

ユーザー定義関数 (UDF)

XIHE_REMOTE_CALL_SERVER_AK

REMOTE_CALL 関数を使用して Function Compute の UDF を呼び出す際、Function Compute を所有する Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID を指定します。

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

XIHE_REMOTE_CALL_SERVER_SK

REMOTE_CALL 関数を使用して Function Compute の UDF を呼び出す際、Function Compute を所有する Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret を指定します。

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

XIHE_REMOTE_CALL_COMPRESS_ENABLED

REMOTE_CALL 関数を使用して Function Compute の UDF を呼び出す際、データを GZIP 形式で圧縮してから Function Compute に送信するかどうかを指定します。

SET ADB_CONFIG REMOTE_CALL_COMPRESS_ENABLED=true;

XIHE_REMOTE_CALL_MAX_BATCH_SIZE

REMOTE_CALL 関数を使用して Function Compute の UDF を呼び出す際、Function Compute に送信されるデータ行数を指定します。

SET ADB_CONFIG XIHE_REMOTE_CALL_MAX_BATCH_SIZE=500000;

スキャン同時実行制御

ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL は、スキャン同時実行クォータの設定をサポートしています。これにより、クエリ中の過剰なスキャン同時実行とリソース消費によって引き起こされるノードの不安定性を防ぎます。有効な値は次のとおりです。

  • true (デフォルト): スキャン同時実行制御機能を有効にします。

  • false: スキャン同時実行制御機能を無効にします。

SET ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED=true;

スキャン同時実行制御

ADB_CONFIG NODE_LEVEL_SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL は、ノードの全体的なスキャン同時実行クォータに基づいて、タスクのスキャン同時実行クォータを動的に調整することをサポートしています。有効な値は次のとおりです。

  • true: タスクスキャン同時実行制御機能の動的調整を有効にします。

  • false (デフォルト): タスクスキャン同時実行制御機能の動的調整を無効にします。

SET ADB_CONFIG NODE_LEVEL_SPLIT_FLOW_CONTROL_ENABLED=true;

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

タスクの最小スキャン同時実行クォータ。デフォルト値: 1。有効な値: [1, TARGET_RUNNING_SPLITS_LIMIT_PER_TASK]。

SET ADB_CONFIG MIN_RUNNING_SPLITS_LIMIT_PER_TASK=24;

TARGET_RUNNING_SPLITS_LIMIT_PER_TASK

タスクの中間スキャン同時実行クォータ。この値に基づいてスキャン同時実行クォータを増減します。デフォルト値: 32。有効な値: [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

タスクの最大スキャン同時実行クォータ。デフォルト値: 64。値は 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

ストレージノードのデフォルトのスキャン同時実行クォータは256です。過度に大きいまたは小さいクォータはクラスターパフォーマンスに影響します。デフォルト値を変更しないでください。

SET ADB_CONFIG WORKER_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

ADB_CONFIG EXECUTOR_MAX_RUNNING_SOURCE_SPLITS_PER_NODE

計算ノードのデフォルトのスキャン同時実行クォータは256です。過度に大きいまたは小さいクォータはクラスターパフォーマンスに影響します。デフォルト値を変更しないでください。

SET ADB_CONFIG EXECUTOR_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

論理ビューの大文字と小文字の区別

VIEW_OUTPUT_NAME_CASE_SENSITIVE

論理ビューの大文字と小文字の区別を設定します。有効な値は次のとおりです。

  • true: 大文字と小文字を区別します。

  • false (デフォルト): 大文字と小文字を区別しません。

SET ADB_CONFIG VIEW_OUTPUT_NAME_CASE_SENSITIVE=true;

CREATE VIEW

複数の SQL ステートメントを連続して実行

ALLOW_MULTI_QUERIES

マルチステートメント機能を使用して複数の SQL ステートメントを連続して実行する場合、マルチステートメント機能を手動で有効にします。有効な値は次のとおりです。

  • true: 有効にします。

  • false (デフォルト): 無効にします。

SET ADB_CONFIG ALLOW_MULTI_QUERIES=true;

マルチステートメント

バイナリロギングの有効化

BINLOG_ENABLE

  • Milvus バージョン 3.2.0.0 以前のクラスターの場合、テーブルのバイナリロギング機能を有効にする前に、まずバイナリロギング属性を手動で有効にする必要があります。

  • Milvus バージョン 3.2.0.0 以降のクラスターの場合、バイナリロギングはデフォルトで有効になっています。このパラメーターを設定する必要はありません。

SET ADB_CONFIG BINLOG_ENABLE=true;

マテリアライズドビューの更新

ページングキャッシュ (ディープページングクエリのパフォーマンス最適化)

PAGING_CACHE_SCHEMA

ページングクエリの一時キャッシュテーブルを保存するデータベースを指定します。指定しない場合、現在接続されている内部データベースが使用されます。

SET ADB_CONFIG PAGING_CACHE_SCHEMA=paging_cache;

ページングキャッシュ (ディープページングクエリのパフォーマンス最適化)

PAGING_CACHE_MAX_TABLE_COUNT

一時キャッシュテーブルの最大数を設定します。この数を超えると、新しいキャッシュの作成は失敗します。デフォルト値: 100。値は0より大きい整数である必要があります。

SET ADB_CONFIG PAGING_CACHE_MAX_TABLE_COUNT=100;

PAGING_CACHE_EXPIRATION_TIME

キャッシュの生存時間 (TTL) のしきい値を指定します。システムは、指定された時間内にアクセスされなかったページングクエリ キャッシュを自動的にクリアします。デフォルト値: 600。値は 0 より大きい整数である必要があります。単位: 秒 (s)。

SET ADB_CONFIG PAGING_CACHE_EXPIRATION_TIME=600;

PAGING_CACHE_ENABLE

ページングキャッシュ機能をグローバルに無効にするかどうかを指定します。有効な値は次のとおりです。

  • true (デフォルト): 有効にします。

  • false: 無効にします。

SET ADB_CONFIG PAGING_CACHE_ENABLE=false;

テーブルエンジンの指定

RC_DDL_ENGINE_REWRITE_XUANWUV2

クラスターのテーブルエンジンをグローバルに指定します。有効な値は次のとおりです。

  • true (デフォルト): 既存のテーブルのテーブルエンジンは変更されません。新しいテーブルのデフォルトのテーブルエンジンは XUANWU_V2 です。新しいテーブルを作成する際に ENGINE=XUANWU を明示的に指定した場合でも、自動的に XUANWU_V2 に書き換えられます。

  • false: 既存のテーブルのテーブルエンジンは変更されません。新しいテーブルのデフォルトのテーブルエンジンは XUANWU です。

SET ADB_CONFIG RC_DDL_ENGINE_REWRITE_XUANWUV2=true;

テーブルエンジンの指定

一般的なヒント

カテゴリ

パラメーター

説明

ドキュメントリンク

クエリタイムアウト期間

QUERY_TIMEOUT

クエリレベルで単一のクエリのクエリタイムアウト期間を設定します。値は0より大きい整数である必要があります。単位: ミリ秒 (ms)。

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

書き込みとクエリ

INSERT、UPDATE、および DELETE ステートメントのタイムアウト期間

INSERT_SELECT_TIMEOUT

クエリレベルで INSERT、UPDATE、および DELETE ステートメントの最大実行時間を変更します。デフォルト値: 24×3600000。値は0より大きい整数である必要があります。単位: ミリ秒 (ms)。

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

制限

フィルター条件プッシュダウンの無効化

  • Milvus バージョン 3.1.4 以降: FILTER_NOT_PUSHDOWN_COLUMNS

  • Milvus バージョン 3.1.4 以前: NO_INDEX_COLUMNS を使用します。

クエリレベルで特定のフィールドのフィルター条件プッシュダウンを無効にします。

  • Milvus バージョン 3.1.4 以降: /*+ FILTER_NOT_PUSHDOWN_COLUMNS=[Schema1.table1:colName1|colName2;Schema2.table2:colName1|colName2] */

  • Milvus バージョン 3.1.4 以前: /*+ NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1] */

プッシュダウンなしのフィルター条件

BUILD ジョブのスケジューリング優先度

BUILD_TASK_PRIORITY

BUILD タスクのスケジューリング優先度を変更します。現在、ヒントを使用して単一のテーブルの BUILD スケジューリング優先度を設定することのみ可能です。デフォルト値: 0。値は0以上の整数である必要があります。値が大きいほど BUILD タスクのスケジューリング優先度が高くなります。

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

BUILD スケジューリング優先度の設定

エラスティックインポート

  • ELASTIC_LOAD

  • ELASTIC_LOAD_CONFIGS

エラスティックインポートを選択し、ジョブリソースグループを設定してエラスティックインポートタスクを実行します。

/*+ 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;

実行計画の調整

  • Milvus バージョン 3.1.8 以降: O_CBO_RULE_SWAP_OUTER_JOIN

  • Milvus バージョン 3.1.8 以前: LEFT_TO_RIGHT_ENABLED

ハッシュ結合は右テーブルを使用して構築され、左結合は左テーブルと右テーブルを並べ替えません。右テーブルのデータ量が大きい場合、実行速度が遅くなり、過剰なメモリリソースが消費される可能性があります。ヒントを追加して、リソース消費に基づいてオプティマイザーに左結合を右結合に変換するように指示します。有効な値は次のとおりです。

  • true: 有効。

  • false (デフォルト)

  • /*+ O_CBO_RULE_SWAP_OUTER_JOIN=true*/

  • /*+ LEFT_TO_RIGHT_ENABLED=true*/

LEFT JOIN を RIGHT JOIN に変更する

REORDER_JOINS

AnalyticDB for MySQL は、デフォルトで自動結合順序調整を有効にしています。クエリデータ特性に基づいて結合順序を手動で調整することで、SQL ステートメントの結合順序に従ってクエリを直接実行できます。有効な値は次のとおりです。

  • true (デフォルト): 自動結合順序調整機能を有効にします。

  • false: 自動結合順序調整機能を無効にします。

/*+ REORDER_JOINS=false*/

結合順序の手動調整

AGGREGATION_PATH_TYPE

2段階集計方法を使用し、グループ化と集約のグループ数が多い場合、多くの計算リソースを消費します。このヒントを使用して、部分集計をスキップし、最終集計を直接実行します。有効な値は次のとおりです。

  • single_agg: 部分集計をスキップします。

  • auto (デフォルト): オプティマイザーが部分集計をスキップするかどうかを自動的に決定します。

/*+ AGGREGATION_PATH_TYPE=single_agg*/

グループ化と集計クエリの最適化

ランタイムポリシーの調整

HASH_PARTITION_COUNT

各計算タスクは、複数の同時タスクに分割されて実行され、計算リソースを最大限に活用します。このヒントを使用して同時実行数を設定します。デフォルト値: 32。値は0より大きい整数である必要があります。

/*+ HASH_PARTITION_COUNT=32*/

なし

TASK_WRITER_COUNT

INSERT INTO SELECT インポートタスクの同時実行数。ワーカー負荷が高すぎる場合、このヒントを変更して同時実行数を減らします。デフォルト値: 16。値は0より大きい整数である必要があります。

/*+ TASK_WRITER_COUNT=8*/

CTE_EXECUTION_MODE

CTE 実行最適化を有効にするかどうかを指定します。CTE 実行最適化が有効な場合、CTE サブクエリが複数回参照されても1回のみ実行され、一部のクエリのクエリパフォーマンスが向上します。有効な値は次のとおりです。

  • shared: CTE 実行最適化機能を有効にします。

  • inline (デフォルト): CTE 実行最適化機能を無効にします。

/*+ CTE_EXECUTION_MODE=shared*/

WITH

クエリ条件の制限

QUERY_MAX_SHUFFLE_DATA_SIZE_MB

クエリのシャッフルデータ量。デフォルトでは、クエリデータ量に関係なくエラーはトリガーされません。このパラメーターが設定され、クエリデータ量が指定されたしきい値を超えると、システムはクエリを直接終了し、エラーを報告します。値は0より大きい整数である必要があります。単位: MB。

/*+ QUERY_MAX_SHUFFLE_DATA_SIZE_MB=1024*/

なし

MAX_SELECT_ITEMS_COUNT

SELECT 条件の数を制限します。デフォルト値: 1024。値は0より大きい整数である必要があります。

/*+ MAX_SELECT_ITEMS_COUNT=2048*/

MAX_IN_ITEMS_COUNT

IN 条件の数を制限します。デフォルト値: 4000。値は0より大きい整数である必要があります。

/*+ MAX_IN_ITEMS_COUNT=1000*/

MAX_WHERE_ITEMS_COUNT

WHERE 条件の数を制限します。デフォルト値: 256。値は0より大きい整数である必要があります。

/*+ MAX_WHERE_ITEMS_COUNT=512*/

XIHE BSP ジョブの優先度

QUERY_PRIORITY

BSP ジョブの優先度。有効な値は次のとおりです。

  • HIGH

  • NORMAL (デフォルト)

  • LOW

  • LOWEST

/*+ QUERY_PRIORITY=HIGH*/

設定項目リスト

XIHE BSP ジョブの最大 ACU

ELASTIC_JOB_MAX_ACU

単一の XIHE BSP ジョブで使用される最大 ACU 数。デフォルト値は9、最小値は3、有効な範囲は [3, ジョブタイプのリソースグループの最大リソース量] です。

値は [3, ジョブタイプのリソースグループの最大リソース量] です。

/*+ ELASTIC_JOB_MAX_ACU=20*/

XIHE BSP ジョブクエリのタイムアウト期間

BATCH_QUERY_TIMEOUT

XIHE BSP ジョブのタイムアウト期間。デフォルト値: 7200000 ms。値は0より大きい整数である必要があります。単位: ミリ秒 (ms)。

/*+ BATCH_QUERY_TIMEOUT=3600000*/

OSS 外部テーブル

OUTPUT_FILENAME

OSS 外部テーブルを使用してデータをエクスポートする際、エクスポートステートメントの前にこのヒントを追加して、OSS に保存されるファイル名をカスタマイズします。

/*+ OUTPUT_FILENAME=output.csv*/

OSS へのエクスポート

SQL_OUTPUT_OSS_FILE_HEAD_ENABLE

OSS 外部テーブルを使用してデータをエクスポートする際、OSS にエクスポートされるデータファイルにはデフォルトで列名が含まれず、データのみが含まれます。列名を含むファイルをエクスポートしたい場合、インポートステートメントの前にこのヒントを追加します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ SQL_OUTPUT_OSS_FILE_HEAD_ENABLE=true*/

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

Hive が実行計画を生成する際、Hive Split タスクを非同期で実行キューに送信するかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

説明

このパラメーターは Milvus バージョン 3.1.10.1 以降でのみサポートされています。

/*+ HIVE_SPLIT_ASYNC_GENERATION_ENABLED=true*/

外部テーブルを使用して OSS データをインポートする

FAST_PARQUET_READER_ENABLE

Parquet ファイルの統計情報が正しくない場合、

ネイティブ Parquet リーダーをフォールバックとして使用するかどうかを指定します。

  • true (デフォルト)

  • false: いいえ。

/*+ FAST_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_ENABLE

データに NULL 値が含まれていない場合、ベクトル化された Parquet 読み取りを有効にするかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ OSS_VECTORIZED_PARQUET_READER_ENABLE=true*/

OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE

データに NULL 値が含まれている場合、ベクトル化された Parquet 読み取りを有効にするかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ OSS_VECTORIZED_PARQUET_READER_NULL_SCENE_ENABLE=true*/

HUDI_METADATA_TABLE_ENABLED

Hudi メタデータをロードするかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ HUDI_METADATA_TABLE_ENABLED=true*/

HUDI_QUERY_TYPE

Hudi テーブルをクエリする方法を設定します。有効な値は次のとおりです。

  • snapshot: 特定の時刻に送信または圧縮されたすべてのデータをクエリします。

  • read_optimized (デフォルト): 最新の送信または圧縮後のデータをクエリします。

/*+ HUDI_QUERY_TYPE=snapshot*/

HUDI_REALTIME_SKIP_MERGE

スナップショットモードで Hudi テーブルデータをクエリする際、ベースファイルとログファイルからのレコードのマージをスキップするかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト): 無効。

/*+ HUDI_REALTIME_SKIP_MERGE=true*/

HUDI_MAX_SPLIT_SIZE=

最大スプリットサイズ。デフォルト値: 128。単位: MB。

/*+ HUDI_MAX_SPLIT_SIZE=128*/

HUDI_SPLIT_PARALLEL_GENERATION_ENABLED

スプリットを並行して生成するかどうかを指定します。有効な値は次のとおりです。

  • true (デフォルト)

  • false: いいえ。

/*+ HUDI_SPLIT_PARALLEL_GENERATION_ENABLED=true*/

HUDI_DATA_SKIPPING_ENABLED

データを読み取る際、Hudi MetaTable からの統計を使用して不要なシャードをスキップし、クエリパフォーマンスを向上させます。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ HUDI_DATA_SKIPPING_ENABLED=true*/

HUDI_SPLIT_ASYNC_GENERATION_ENABLED

実行計画生成フェーズ中、Hudi スプリットを非同期で生成するかどうかを指定します。有効な値は次のとおりです。

  • true (デフォルト)

  • false: いいえ。

/*+ HUDI_SPLIT_ASYNC_GENERATION_ENABLED=true*/

ApsaraDB RDS for MySQL 外部テーブル

JDBC_SCAN_SPLITS

Java Database Connectivity (JDBC) ベースの TableScan 中のスプリット数。デフォルト値: 1。有効な値: 1〜100。

/*+ JDBC_SCAN_SPLITS=1*/

外部テーブルを使用して RDS for MySQL からデータをインポートする

JDBC_SPLIT_COLUMN

ApsaraDB RDS for MySQL 外部テーブルを読み取る際に分割に使用される列。

/*+ JDBC_SPLIT_COLUMN=column1*/

JDBC_INSERT_DIRECTLY

ApsaraDB RDS for MySQL 外部テーブルにデータを書き込む際、データはまず一時テーブルに書き込まれ、その後デフォルトでターゲットテーブルに書き込まれます。ヒントを変更して、データを直接ターゲットテーブルに書き込むことができます。ただし、書き込みプロセス中にエラーが発生した場合、ターゲットテーブルにダーティデータが残る可能性があります。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): 無効。

/*+ JDBC_INSERT_DIRECTLY=true*/

Tablestore 外部テーブル

OTS-INSERT-AS-UPDATE

UPDATE ステートメントの代わりに INSERT ステートメントを使用するかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト): いいえ。

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

Tablestore データのクエリとインポート

MaxCompute 外部テーブル

ODPS_SPLIT_LIMIT

Tunnel を介してデータを読み取る際のスプリットの最大数。デフォルト値: 1000。有効な値: 1〜1000。

/*+ ODPS_SPLIT_LIMIT=1000*/

外部テーブルを使用して MaxCompute データをインポートする

IGNORE_PARTITION_CACHE

パーティション条件を持つクエリを実行する際、キャッシュされたパーティションメタデータを使用する代わりに、MaxCompute テーブルからパーティションメタデータを直接クエリします。

  • true: はい。

  • false (デフォルト)

/*+ IGNORE_PARTITION_CACHE=true*/

ROWS_PER_SPLIT

Tunnel を介してデータを読み取る際、単一のスプリットが読み取ることができる最大データ行数。デフォルト値: 500000。有効な値: 10000〜500000。

/*+ ROWS_PER_SPLIT=500000*/

STORAGE_API_ENABLED

MaxCompute Storage API を使用して MaxCompute データを読み取るかどうかを指定します。MaxCompute Storage API は、従来の Tunnel サービスと比較して読み取りパフォーマンスを大幅に向上させます。

値:

  • true: はい。

  • false (デフォルト値): いいえ。

/*+ STORAGE_API_ENABLED=true*/

APLIT_BYTE_SIZE

MaxCompute Storage API を介してデータを読み取る際、単一スプリットの最大サイズ。デフォルト値: 256。単位: MB。

/*+ APLIT_BYTE_SIZE=256*/

MAX_BATCH_ROW_COUNT

MaxCompute Storage API を介してデータを読み取る際、単一スプリットの最大行数。デフォルト値: 1024。

/*+ MAX_BATCH_ROW_COUNT=1024*/

PAGE_BATCH_SIZE

MaxCompute Storage API を介してデータを読み取る際、各ページに含まれる最大行数。デフォルト値: 1024。

/*+ PAGE_BATCH_SIZE=1024*/

MAX_ALLOCATION_PER_SPLIT

MaxCompute Storage API を介してデータを読み取る際、スプリットレベルで割り当てられる最大ピークメモリ。デフォルト値: 300 MB。単位: MB。

/*+ MAX_ALLOCATION_PER_SPLIT=300*/

ASYNC_GET_SPLIT

MaxCompute が実行計画を生成する際、タスクを非同期で実行キューに送信することで、スプリットロードパフォーマンスを最適化するかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • デフォルト値は false で、いいえを示します。

説明

このパラメーターは Milvus バージョン 3.1.10.1 以降でのみサポートされています。

/*+ ASYNC_GET_SPLIT=true*/

スキャン同時実行制御

SPLIT_FLOW_CONTROL_ENABLED

AnalyticDB for MySQL は、スキャン同時実行クォータの設定をサポートしています。これにより、クエリ中の過剰なスキャン同時実行とリソース消費によって引き起こされるノードの不安定性を防ぎます。有効な値は次のとおりです。

  • true (デフォルト): スキャン同時実行制御機能を有効にします。

  • false: スキャン同時実行制御機能を無効にします。

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

スキャン同時実行制御

MIN_RUNNING_SPLITS_LIMIT_PER_TASK

タスクの最小スキャン同時実行クォータ。デフォルト値: 1。有効な値: [1, TARGET_RUNNING_SPLITS_LIMIT_PER_TASK]。

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

TARGET_RUNNING_SPLITS_LIMIT_PER_TASK

タスクの中間スキャン同時実行クォータ。この値に基づいてスキャン同時実行クォータを増減します。デフォルト値: 32。有効な値: [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

タスクの最大スキャン同時実行クォータ。デフォルト値: 64。値は TARGET_RUNNING_SPLITS_LIMIT_PER_TASK より大きい必要があります。

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

ページングキャッシュ (ディープページングクエリのパフォーマンス最適化)

PAGING_ID

ページングキャッシュ機能を有効にし、paging_id を手動で指定して、関連するページングクエリキャッシュのセット (つまり、LIMIT および OFFSET パラメーターのみが異なる同じパターンのページングクエリのセット) を識別します。

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

ページングキャッシュ (ディープページングクエリのパフォーマンス最適化)

PAGING_CACHE_ENABLED

ページングキャッシュ機能を有効にし、SQL パターンに基づいて paging_id を自動的に生成して、関連するページングクエリキャッシュのセット (つまり、LIMIT および OFFSET パラメーターのみが異なる同じパターンのページングクエリのセット) を識別します。有効な値は次のとおりです。

  • true: ページングキャッシュ機能を有効にします。

  • false (デフォルト): ページングキャッシュ機能を無効にします。

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

PAGING_CACHE_VALIDITY_INTERVAL

キャッシュ有効期間を設定します。この期間を過ぎると、キャッシュは無効になります。無効化後1時間以内にアクセスされなかった場合、システムは対応する一時キャッシュテーブルを自動的に削除します。値は0より大きい整数である必要があります。単位: 秒 (s)。このパラメーターは 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

指定されたパターンのページングクエリキャッシュをクリアするかどうかを指定します。有効な値は次のとおりです。

  • true: はい。

  • false (デフォルト値): いいえ。

このパラメーターは、paging_id または paging_cache_enabled パラメーターと一緒に使用する必要があります。

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

テーブルエンジンの指定

RC_DDL_ENGINE_REWRITE_XUANWUV2

現在の SQL ステートメントによって作成されるテーブルのテーブルエンジンを指定します。有効な値は次のとおりです。

  • true (デフォルト): 既存のテーブルのテーブルエンジンは変更されません。現在の SQL ステートメントによって作成されるテーブルのデフォルトのテーブルエンジンは XUANWU_V2 です。このテーブルを作成する際に ENGINE=XUANWU を明示的に指定した場合でも、自動的に XUANWU_V2 に書き換えられます。

  • false: 既存のテーブルのテーブルエンジンは変更されません。現在の SQL ステートメントによって作成されるテーブルのデフォルトのテーブルエンジンは XUANWU です。

/*+ RC_DDL_ENGINE_REWRITE_XUANWUV2=true */

テーブルエンジンの指定

その他

RESOURCE_GROUP

クエリで使用されるリソースグループを指定します。リソースグループを指定しない場合、データベースアカウントにバインドされたリソースグループがデフォルトで使用されます。データベースアカウントがリソースグループにバインドされていない場合、デフォルトのリソースグループが使用されます。

/*+ RESOURCE_GROUP=my_group_name*/

なし

DML_EXCEPTION_TO_NULL_ENABLED

INSERT SELECT ステートメントによって書き込まれたデータに無効な値が出現した場合、例外をスローするかどうかを指定します。有効な値は次のとおりです。

  • true: 例外をスローせず、NULL 値を書き込みます。

  • false (デフォルト): 例外をスローします。

/*+ DML_EXCEPTION_TO_NULL_ENABLED=true*/

DISPLAY_HINT

異なるビジネスパーティからのクエリなど、対応するクエリを簡単に識別するためにマークするために使用されます。

/*+ DISPLAY_HINT=from_user_123*/

よくある質問

ADB_CONFIG パラメーター設定を削除するにはどうすればよいですか?

SET ADB_CONFIG key=value; を使用して設定パラメーターを設定した場合、次の方法でデフォルト値に復元します。

方法

SET ADB_CONFIG REMOVE key;
SET ADB_CONFIG REMOVE QUERY_TIMEOUT; -- クエリタイムアウト期間をデフォルト値に復元します。

コマンドが正常に実行された後、SHOW ADB_CONFIG KEY=key; を実行して、設定パラメーターがデフォルト値に復元されたことを確認します。