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

AnalyticDB:Config およびヒントワードの設定パラメーター

最終更新日:Aug 21, 2026

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

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

クラスターのカーネルバージョンが 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`;

データウェアハウス版 (DWH) クラスターのスケールアップ

IN 条件の制限

MAX_IN_ITEMS_COUNT

説明 IN 条件内のアイテムの最大数を設定します。有効値:0 より大きい正の整数。カーネルバージョンが 3.2.8 より前のクラスターの場合、デフォルト値は 4000 です。カーネルバージョンが 3.2.8 以降のクラスターの場合、デフォルト値は 20000 です。

SET ADB_CONFIG MAX_IN_ITEMS_COUNT=4000;

書き込みとクエリ

SELECT の最大列数

MAX_SELECT_ITEMS_COUNT

説明 SELECT 文の最大列数。デフォルト値:1024。この値を大きくすると、クラスターの安定性に影響する可能性があります。この値を変更することは推奨されません。 SET ADB_CONFIG MAX_SELECT_ITEMS_COUNT=1000; 参照

クエリタイムアウト

QUERY_TIMEOUT

説明 クエリ実行のタイムアウト期間。デフォルト値:1800000 ms (30 分)。このパラメーターは SQL ステートメントの実行タイムアウトのみを制御し、接続タイムアウトやセッションアイドルタイムアウトには影響しません。 SET ADB_CONFIG QUERY_TIMEOUT=1000;

クエリ最適化/ランタイムポリシー

DYNAMIC_FILTER_WAIT_TIME_IN_MS

説明 動的フィルタリングの待機時間のしきい値。このパラメーターは、結合操作における動的フィルターの構築待機時間を制御し、クエリパフォーマンスとリソース消費のバランスを取ります。 SHOW ADB_CONFIG KEY=DYNAMIC_FILTER_WAIT_TIME_IN_MS;

INSERT、UPDATE、DELETE のタイムアウト

INSERT_SELECT_TIMEOUT

説明 クラスターレベルでの INSERT、UPDATE、DELETE 文の最大実行時間。デフォルト値:24*3600000。有効値:0 より大きい整数。単位:ミリ秒。 SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000; 参考

使用制限

述語プッシュダウンの無効化

パラメーター カーネルバージョン 3.1.4 以降: FILTER_NOT_PUSHDOWN_COLUMNS カーネルバージョン 3.1.4 より前: NO_INDEX_COLUMNS 説明 クラスターレベルで特定の列の述語プッシュダウンを無効にします。

説明 クラスターレベルで特定の列に対する述語プッシュダウンを無効にします。

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

  • カーネルバージョン 3.1.4 より前:SET ADB_CONFIG NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1]

プッシュダウンされないフィルター条件

クエリ実行モード

QUERY_TYPE

説明 インスタンスのクエリ実行モードを切り替えます。有効値:interactivebatchCluster Edition の予約モードクラスターおよび Data Lake 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。制限を超えると、新しいクエリはキューに入れられます。キューが満杯の場合、「Too many queued queries」エラーが返されます。この値を増やすか、カスタムリソースグループを作成して負荷を分散できます。

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

単一の XIHE BSP ジョブが使用できる ACU の最大数。デフォルト値:9。最小値:3。有効値:[3, ジョブタイプリソースグループの最大リソース]。

SET ADB_CONFIG ELASTIC_JOB_MAX_ACU=20;

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

BATCH_QUERY_TIMEOUT

XIHE BSP ジョブのタイムアウト期間。デフォルト値:7200000 ms。有効値:0 より大きい整数。単位:ミリ秒。

SET ADB_CONFIG BATCH_QUERY_TIMEOUT=3600000 ;

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

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

説明 Hive が実行計画を生成する際に、Hive Split タスクを非同期でキューに送信するかどうかを指定します。有効値:true:はい。false (デフォルト):いいえ。

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 が実行計画を生成する際に、Split のロードパフォーマンスを最適化してタスクを非同期でキューに送信するかどうかを指定します。有効値:

  • true:はい。

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

説明 このパラメーターは、カーネルバージョン 3.1.10.1 以降でのみサポートされます。

SET ADB_CONFIG ASYNC_GET_SPLIT=true;

BUILD 自動スケジューリング

RC_CSTORE_BUILD_SCHEDULE_PERIOD

説明 BUILD タスクのスケジューリング期間を制限します。これは BUILD タスクの実行期間を制限するものではありません。有効値:0 から 24 までの整数。 SET ADB_CONFIG RC_CSTORE_BUILD_SCHEDULE_PERIOD=`6,8`; 参照

BUILD

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

説明 1 つ以上のテーブルの BUILD スケジューリング優先度を設定できます。この優先度は、再設定されるまで有効です。BUILD スケジューリング優先度は、task_priority パラメーターによってコントロールされます。有効な値: 整数。デフォルト値: 0。

単一テーブルまたは複数テーブルの 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 サービスを所有する Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey ID。

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

XIHE_REMOTE_CALL_SERVER_SK

REMOTE_CALL 関数を使用してカスタム関数をリモートで呼び出す際の、Function Compute サービスを所有する Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey Secret。

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

XIHE_REMOTE_CALL_COMPRESS_ENABLED

REMOTE_CALL 関数を使用してカスタム関数をリモートで呼び出す際に、データを Function Compute に送信する前に GZIP 圧縮を使用するかどうかを指定します。

SET ADB_CONFIG REMOTE_CALL_COMPRESS_ENABLED=true;

XIHE_REMOTE_CALL_MAX_BATCH_SIZE

REMOTE_CALL 関数を使用してカスタム関数をリモートで呼び出す際に、Function Compute に送信されるデータの行数。

SET ADB_CONFIG XIHE_REMOTE_CALL_MAX_BATCH_SIZE=500000;

スキャン同時実行制御

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

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

AnalyticDB for MySQL では、過剰なスキャン同時実行数がリソースを過剰に消費することによるノードの不安定性を防ぐために、スキャン同時実行クォータを設定できます。有効値:

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

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

SET ADB_CONFIG SPLIT_FLOW_CONTROL_ENABLED=true;

Split フロー制御

AnalyticDB for MySQL では、各ノードの全体のスキャン同時実行数クォータに基づいて、タスクのスキャン同時実行数クォータを動的に調整できます。有効な値:

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

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

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;

ストレージノードのデフォルトのスキャン同時実行数クォータは 256 です。値が高すぎる、または低すぎると、クラスターのパフォーマンスに影響する可能性があります。デフォルト値は変更しないことをお勧めします。

ストレージノードのデフォルトのスキャン同時実行クォータは 256 です。値が大きすぎたり小さすぎたりすると、クラスターのパフォーマンスに影響する可能性があります。デフォルト値を変更しないことを推奨します。

SET ADB_CONFIG WORKER_MAX_RUNNING_SOURCE_SPLITS_PER_NODE=256;

コンピュートノードのスキャン同時実行数クォータのデフォルト値は 256 です。値が極端に高い、または低い場合、クラスターのパフォーマンスに影響を及ぼす可能性があります。デフォルト値は変更しないことをお勧めします。

計算ノードのデフォルトのスキャン同時実行クォータは 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 ステートメントを連続して実行するために、Multi-Statement 機能を手動で有効にします。有効な値: true: 有効。false (デフォルト): 無効。

ALLOW_MULTI_QUERIES

複数の SQL ステートメントを順番に実行するために、複数ステートメント機能を手動で有効にします。有効値:

  • true:有効化。

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

SET ADB_CONFIG ALLOW_MULTI_QUERIES=true;

複数ステートメント

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

BINLOG_ENABLE

説明 カーネルバージョンが 3.2.0.0 より前のクラスターでは、テーブルの Binlog を有効にする前に、手動で Binlog 機能を有効にする必要があります。カーネルバージョンが 3.2.0.0 以降のクラスターでは、Binlog 機能はデフォルトで有効になっています。このパラメーターを設定する必要はありません。 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

キャッシュの有効期限のしきい値。指定された期間内にアクセスされなかったキャッシュは自動的にクリーンアップされます。デフォルト値:600。有効値:0 より大きい整数。単位:秒。

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

説明 クエリ実行のタイムアウト期間。デフォルト値:1800000 ms (30 分)。このパラメーターは SQL ステートメントの実行タイムアウトのみを制御し、接続タイムアウトやセッションアイドルタイムアウトには影響しません。 SET ADB_CONFIG QUERY_TIMEOUT=1000;

書き込みとクエリ

INSERT、UPDATE、DELETE のタイムアウト

INSERT_SELECT_TIMEOUT

説明 クラスターレベルでの INSERT、UPDATE、DELETE 文の最大実行時間。デフォルト値:24*3600000。有効値:0 より大きい整数。単位:ミリ秒。 SET ADB_CONFIG INSERT_SELECT_TIMEOUT=3600000; 参考

使用制限

述語プッシュダウンの無効化

パラメーター カーネルバージョン 3.1.4 以降: FILTER_NOT_PUSHDOWN_COLUMNS カーネルバージョン 3.1.4 より前: NO_INDEX_COLUMNS 説明 クラスターレベルで、特定の列に対する述語プッシュダウンを無効にします。

説明 クエリレベルで特定の列に対する述語プッシュダウンを無効にします。

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

  • カーネルバージョン 3.1.4 より前:/*+ NO_INDEX_COLUMNS=[tableName1.colName1;colName2,tableName2.colName1] */

プッシュダウンされないフィルター条件

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

BUILD_TASK_PRIORITY

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

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

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

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

elastic インポートを有効にし、elastic インポート タスクの実行用にジョブタイプリソースグループを設定します。

エラスティックインポートを有効にし、エラスティックインポートタスクを実行するためのジョブタイプリソースグループを設定します。

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

ハッシュ結合の実装では、構築に右テーブルを使用します。左結合では、左テーブルと右テーブルの順序は変更されません。右テーブルに大量のデータが含まれている場合、実行速度の低下や過剰なメモリ消費が発生する可能性があります。ヒントワードを追加することで、リソース消費に基づいて左結合を右結合に変換するようオプティマイザーに指示できます。有効な値:

  • true:有効。

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

  • カーネルバージョン 3.1.8 以降:O_CBO_RULE_SWAP_OUTER_JOIN

  • カーネルバージョン 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段階集約を使用する場合、group-by 集約で多数のグループがあると、大量の計算リソースを消費します。このヒントワードを使用して、ローカル集約をスキップし、直接最終集約を実行できます。有効値:

  • single_agg:ローカル集約をスキップします。

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

/*+ AGGREGATION_PATH_TYPE=single_agg*/

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

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

HASH_PARTITION_COUNT

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

/*+ HASH_PARTITION_COUNT=32*/

なし

BATCH_HASH_PARTITION_COUNT

デフォルト値:32。有効値:0 より大きい整数。

重要

バッチモード (query_execution_type=batch) では、この値を高く設定しすぎると、ノード上の同時実行タスクが過剰になり、メモリプールのオーバーフローを引き起こす可能性があります。クラスターに 32 を超える計算ノードがある場合、ディスク制限の問題を避けるために、このパラメーターを計算ノードの数に設定することを推奨します。

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

TASK_WRITER_COUNT

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

/*+ TASK_WRITER_COUNT=8*/

CTE_EXECUTION_MODE

CTE 実行の最適化を有効にするかどうかを指定します。有効にすると、複数回参照される CTE サブクエリは一度だけ実行され、クエリのパフォーマンスが向上します。有効値:

  • 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。この値を大きくすると、クラスターの安定性に影響する可能性があります。この値を変更することは推奨されません。 SET ADB_CONFIG MAX_SELECT_ITEMS_COUNT=1000; リファレンス

MAX_IN_ITEMS_COUNT

説明 IN 条件内のアイテムの最大数を設定します。有効値:0 より大きい正の整数。カーネルバージョンが 3.2.8 より前のクラスターの場合、デフォルト値は 4000 です。カーネルバージョンが 3.2.8 以降のクラスターの場合、デフォルト値は 20000 です。

/*+ 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, ジョブタイプリソースグループの最大リソース]。

/*+ ELASTIC_JOB_MAX_ACU=20*/

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

BATCH_QUERY_TIMEOUT

XIHE BSP ジョブのタイムアウト期間。デフォルト値:7200000 ms。有効値:0 より大きい整数。単位:ミリ秒。

/*+ BATCH_QUERY_TIMEOUT=3600000*/

OSS 外部テーブル

OUTPUT_FILENAME

OSS 外部テーブルを介してデータをエクスポートする際に、OSS に保存されるファイル名をカスタマイズします。

/*+ OUTPUT_FILENAME=output.csv*/

OSS へのデータのエクスポート

SQL_OUTPUT_OSS_FILE_HEAD_ENABLE

OSS のエクスポートされたデータファイルに列名を含めるかどうかを指定します。デフォルトでは、エクスポートされたファイルにはデータのみが含まれ、列名は含まれません。有効値:

  • true:列名を含めます。

  • false (デフォルト):列名を含めません。

/*+ SQL_OUTPUT_OSS_FILE_HEAD_ENABLE=true*/

HIVE_SPLIT_ASYNC_GENERATION_ENABLED

説明 Hive が実行計画を生成する際に、Hive Split タスクを非同期でキューに送信するかどうかを指定します。有効値:true:はい。false (デフォルト):いいえ。

/*+ 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 メタデータをロードするかどうかを指定します。有効な値:

  • true:はい。

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

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

最大分割サイズ。デフォルト値: 128。単位: MB。

最大スプリットサイズ。デフォルト値: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*/

RDS MySQL 外部テーブル

JDBC_SCAN_SPLITS

JDBC を介して TableScan を実行する際のスプリット数。デフォルト値:1。有効値:1~100。

/*+ JDBC_SCAN_SPLITS=1*/

外部テーブルを使用した RDS MySQL データのインポート

JDBC_SPLIT_COLUMN

RDS MySQL 外部テーブルを読み取る際にデータを分割するために使用される列。

/*+ JDBC_SPLIT_COLUMN=column1*/

JDBC_INSERT_DIRECTLY

RDS MySQL 外部テーブルにデータを書き込む際、デフォルトではデータは一時テーブルに書き込まれ、その後ターゲットテーブルに書き込まれます。このヒントワードを使用して、データを直接ターゲットテーブルに書き込むことができます。ただし、書き込み中にエラーが発生した場合、ターゲットテーブルにダーティデータが含まれる可能性があります。有効値:

  • true:はい。

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

/*+ JDBC_INSERT_DIRECTLY=true*/

Tablestore 外部テーブル

UPDATE 文の代わりに INSERT 文を使用するかどうかを指定します。有効な値:

  • true:はい。

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

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 データを読み取るかどうかを指定します。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。

/*+ MAX_ALLOCATION_PER_SPLIT=300*/

ASYNC_GET_SPLIT

MaxCompute が実行計画を生成する際に、Split のロードパフォーマンスを最適化してタスクを非同期でキューに送信するかどうかを指定します。有効値:

  • true:はい。

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

説明 このパラメーターは、カーネルバージョン 3.1.10.1 以降でのみサポートされます。

/*+ ASYNC_GET_SPLIT=true*/

スキャン同時実行制御

SPLIT_FLOW_CONTROL_ENABLED

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

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

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

Split フロー制御

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;

ページングキャッシュ機能を有効にし、関連するページングクエリのグループ (同じパターンで LIMIT と OFFSET パラメーターが異なるクエリ) のキャッシュを識別するために、手動で paging_id を指定します。

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 を生成して、関連するページングクエリのグループのキャッシュを識別します。有効値:

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

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

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

PAGING_CACHE_VALIDITY_INTERVAL

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

説明 クラスターレベルでテーブルエンジンを指定します。有効値:true (デフォルト):既存のテーブルは現在のエンジンを保持します。新しいテーブルはデフォルトで XUANWU_V2 を使用します。テーブル作成時に明示的に ENGINE=XUANWU を指定しても、エンジンは自動的に XUANWU_V2 に変更されます。false:既存のテーブルは現在のエンジンを保持します。新しいテーブルはデフォルトで 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*/

よくある質問

設定パラメーターの削除方法

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

方法

例

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

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