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

ApsaraDB for SelectDB:変数の管理

最終更新日:Aug 25, 2026

ApsaraDB for SelectDB の変数は、クエリの動作、セッション設定、およびクラスター全体の設定を制御します。変数には、ApsaraDB for SelectDB に固有のものと、MySQL クライアントプロトコルと互換性のあるものの 2 つのカテゴリがあります。

仕組み

変数は 2 つのスコープで設定できます:

  • セッションスコープ:現在の接続でのみ有効です。セッションが終了するとリセットされます。

  • グローバルスコープ:現在のセッションと、以降のすべてのセッションで有効です。 管理者ユーザーのみがグローバル変数を設定できます。

複数のレベルが設定されている場合、設定は次の優先順位 (高いものから順に) で有効になります:

  1. セッション変数

  2. ユーザープロパティ

  3. グローバル変数

  4. デフォルト値

より優先度の高い設定が設定されていない場合、次のレベルが自動的に有効になります。

変数のクエリ

SHOW VARIABLES を実行すると、すべての変数と現在の値が一覧表示されます。

SHOW VARIABLES;

名前のパターンでフィルタリングするには、次のように実行します:

SHOW VARIABLES LIKE '%time_zone%';

変数の設定

セッション変数の設定

セッション変数は直ちに有効になり、現在の接続にのみ適用されます:

SET exec_mem_limit = 137438953472;
SET forward_to_master = true;
SET time_zone = "Asia/Shanghai";

変数には定数式も指定できます:

SET exec_mem_limit = 10 * 1024 * 1024 * 1024;
SET forward_to_master = concat('tr', 'u', 'e');

グローバル変数の設定

グローバル変数は、現在のセッションおよび以降のすべてのセッションで有効になります:

SET GLOBAL exec_mem_limit = 137438953472;
重要

admin ユーザーのみがグローバル変数を設定できます。

次の変数は、セッションスコープとグローバルスコープの両方をサポートしています:

  • time_zone

  • wait_timeout

  • sql_mode

  • enable_profile

  • query_timeout

  • insert_timeout

  • exec_mem_limit

  • batch_size

  • allow_partition_column_nullable

  • insert_visible_timeout_ms

  • enable_fold_constant_by_be

次の変数はグローバルスコープのみをサポートしています:

  • default_rowset_type

  • default_password_lifetime

  • password_history

  • validate_password_policy

単一クエリでの変数のオーバーライド

SET_VAR ヒントを使用すると、セッション状態を変更せずに、単一のステートメントに対してセッション変数を設定できます:

SELECT /*+ SET_VAR(exec_mem_limit = 8589934592) */ name FROM people ORDER BY name;
SELECT /*+ SET_VAR(query_timeout = 1, enable_partition_cache=true) */ sleep(3);
コメントは /*+ で開始し、SELECT キーワードの直後に記述する必要があります。

タイムゾーン変数

ApsaraDB for SelectDB は、2 つのタイムゾーン変数を提供します。

変数 説明 変更可能
system_time_zone クラスターのシステムタイムゾーン。サーバーの起動時に、サーバーの OS タイムゾーンに基づいて自動的に設定されます。 いいえ
time_zone クラスターの現在のタイムゾーン。時間関数と、タイムゾーンオフセットを含むインポートデータに影響します。 はい

タイムゾーン変数のクエリと設定

両方のタイムゾーン変数を表示するには、次のようにします:

SHOW VARIABLES LIKE '%time_zone%';

セッションのタイムゾーンを設定するには、次のようにします:

SET time_zone = 'Asia/Shanghai';

その後のすべてのセッションに対してクラスターのタイムゾーンを設定するには、次のようにします:

SET GLOBAL time_zone = 'Asia/Shanghai';

サポートされているタイムゾーン形式

形式タイプ 例
名前付き (IANA tz データベース) Asia/Shanghai、America/Los_Angeles
UTC オフセット +02:30、-10:00
略称 GMT、UTC (+00:00 と同等)、CST (Asia/Shanghai と同等)
Zulu Z (+00:00 と同等)
一部のデータインポート方法では、上記に記載されていない追加のタイムゾーン形式を受け入れる場合があります。本番環境では非標準の形式に依存しないでください。ApsaraDB for SelectDB は、いつでもその処理方法を変更する可能性があります。

タイムゾーン設定が関数とデータに与える影響

影響を受ける関数

以下の関数は、現在の time_zone 設定に基づいて結果を返します。

関数 動作
FROM_UNIXTIME UTC タイムスタンプを、設定されたタイムゾーンの日付と時刻に変換します。CST の場合、FROM_UNIXTIME(0) は 1970-01-01 08:00:00 を返します。
UNIX_TIMESTAMP 日付と時刻を UTC タイムスタンプに変換します。CST の場合、UNIX_TIMESTAMP('1970-01-01 08:00:00') は 0 を返します。
CURTIME 設定されたタイムゾーンの現在時刻を返します。
NOW 設定されたタイムゾーンの現在の日付と時刻を返します。
CONVERT_TZ 日付と時刻をあるタイムゾーンから別のタイムゾーンに変換します。

SHOW LOAD と SHOW BACKENDS の出力も、設定されたタイムゾーンを反映します。

タイムゾーン設定の影響を受けないもの:

  • CREATE TABLE における時間型パーティションキー列の less than 値

  • DATE 型または DATETIME 型として保存される値(保存される値自体は変更されません)

インポート時の時間型データ

DATE、DATEV2、DATETIME、または DATETIMEV2 型のデータをインポートする場合、ApsaraDB for SelectDB は次のようにタイムゾーン変換を処理します:

  • タイムゾーン接尾辞を含むデータ(例:2020-12-12 12:12:12+08:00):クラスターの現在の time_zone に変換されます。たとえば、time_zone が +00:00 の場合、保存される値は 2020-12-12 04:12:12 になります。

  • タイムゾーン接尾辞を含まないデータ(例:2020-12-12 12:12:12):絶対時刻として扱われ、変換なしでそのままインポートされます。

夏時間

夏時間の調整は、名前付きタイムゾーンに組み込まれています。たとえば、America/Los_Angeles は、3 月に -08:00 から -07:00 に移行し、11 月に戻ります。

夏時間の移行を回避するには、America/Los_Angeles のような名前付きゾーンではなく、固定 UTC オフセット(例:-08:00)に time_zone を設定してください。

タイムゾーンデータのソース

各バックエンド (BE) ノードで、ApsaraDB for SelectDB は、以下の場所からこの順序でタイムゾーンデータを検索します:

  1. TZDIR 環境変数で指定されたディレクトリ

  2. /usr/share/zoneinfo

  3. BE デプロイメントディレクトリ内の zoneinfo ディレクトリ

いずれの場所でもタイムゾーンデータが見つからない場合、BE ノードは起動に失敗します。

ベストプラクティス

タイムゾーン対応データ

データをインポートする前に、タイムゾーン情報を一貫して扱う方法を決定してください。 DATETIME などの時刻型データにはタイムゾーンが格納されません。 ApsaraDB for SelectDB では、次の 2 つに分類します:

絶対時刻:データにタイムゾーンが含まれず、インポート時にもタイムゾーンが設定されていない場合です。例: 2023-12-12 08:00:00。保存時もクエリ時もそのまま扱われ、time_zone の影響を受けません。

特定のタイムゾーンの時刻:データにタイムゾーンサフィックスが含まれます。例: 2020-12-12 12:12:12+02:00。どのタイムゾーン設定が適用されるかは、インポート方法によって決まります:

  • INSERT INTO:time_zone セッション変数に従います。

  • ストリームロードまたはブローカーロード:timezone リクエストヘッダーに従います。 timezone ヘッダーが time_zone セッション変数と競合する場合は、timezone ヘッダーが優先されます。

ApsaraDB for SelectDB は、インポート時に、入力データ内のリテラルタイムゾーンを time_zone で設定されたタイムゾーンに変換します。

推奨する方法:インポート前に time_zone を 1 度設定し、その後は一貫して同じ値を使用してください。タイムゾーン対応データをインポートした後に time_zone を変更すると、以降のクエリで保存値が誤って解釈されます。

次の例は、セッションの途中で time_zone を変更した場合の動作を示しています:

-- 現在のタイムゾーン:Asia/Hong_Kong
SELECT @@time_zone;
-- +----------------+
-- | @@time_zone    |
-- +----------------+
-- | Asia/Hong_Kong |
-- +----------------+

-- リテラルタイムゾーン +02:00 のデータをインポート
-- 2020-12-12 18:12:12 として保存される (Asia/Hong_Kong に変換)
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 18:12:12.000 |
-- +-------------------------+

-- time_zone を変更しても保存値は更新されない
SET time_zone = 'America/Los_Angeles';

-- 2 回目のインポートでは、変換に America/Los_Angeles が使用される
INSERT INTO dtv23 VALUES('2020-12-12 12:12:12+02:00');

SELECT * FROM dtv23;
-- 行のタイムゾーンセマンティクスが不整合になる
-- +-------------------------+
-- | k0                      |
-- +-------------------------+
-- | 2020-12-12 02:12:12.000 |  -- America/Los_Angeles でインポート
-- | 2020-12-12 18:12:12.000 |  -- Asia/Hong_Kong でインポート
-- +-------------------------+

タイムゾーンのベストプラクティスの概要:

  • データをインポートする前に、クラスターの time_zone を確認し、インポート後は変更しないでください。

  • ストリームロードまたはブローカーロードを使用する場合は、timezone ヘッダーを time_zone セッション変数と同じ値に設定してください。

  • 絶対時刻データはタイムゾーンサフィックスなしでインポートしてください。タイムゾーン対応データはタイムゾーンサフィックスを含め、変換は ApsaraDB for SelectDB に任せてください。

夏時間の精度

名前付きタイムゾーンのデータ (夏時間の開始日と終了日を含む) は、Internet Assigned Numbers Authority (IANA) によって管理されています。各 BE ノードに保存されているデータは、当年について IANA が確認した最新の変更を反映していない場合があります。

ワークロードで最新の夏時間スケジュールが必要な場合は、各 BE ノードのタイムゾーンデータソースに最新の IANA tz データベースのリリースが含まれていることを確認してください。最新データについては、The tz-announce Archives をご参照ください。

タイムアウト設定

ApsaraDB for SelectDB では、query_timeout および insert_timeout 変数とユーザープロパティを使用して、複数のレベルでタイムアウトを設定できます。

[優先順位 (高い順) :]セッション変数 > ユーザープロパティ > グローバル変数 > デフォルト値

変数 スコープ デフォルト 説明
query_timeout セッション、グローバル、ユーザープロパティ 900 秒 (15 分) すべてのクエリステートメントのタイムアウトを制御します。
insert_timeout セッション、グローバル、ユーザープロパティ 14400 秒 (4 時間) INSERT ステートメント専用のタイムアウトを制御します。INSERT を実行する場合、query_timeout と insert_timeout のうち長い方が適用されます。

タイムアウトのユーザープロパティ:

  • query_timeout および insert_timeout ユーザープロパティは、[管理者] ユーザーのみが特定のユーザーに対して設定できます。

  • これらのプロパティにはクォータセマンティクスはなく、指定されたユーザーのデフォルトタイムアウトを変更します。

  • ユーザープロパティの変更は、クライアントが再接続した後に有効になります。

付録

サポートされている変数

ブール変数

ブール変数は、機能を有効または無効にします。有効な値: true および false。

変数 デフォルト 説明
delete_without_partition false true の場合、パーティション句のない DELETE ステートメントは、すべてのパーティションに自動的に適用されます。これにより、DELETE 操作の実行時間が長くなり、大量のタスクが生成されます。必要な場合を除き、この設定は無効のままにしてください。
disable_colocate_join false true の場合、コロケーションジョイン機能を無効にします。実行プランは、コロケーションジョイン操作を試みません。
enable_bucket_shuffle_join true false の場合、バケットシャッフルジョイン機能を無効にします。実行プランは、バケットシャッフルジョイン操作を試みません。
disable_streaming_preaggregations false true の場合、ストリーミング事前集計を無効にします。この変数は変更できません。
enable_insert_strict false true の場合、INSERT ステートメントによるデータインポートの厳格モードを有効にします。
enable_spilling false true の場合、大規模データセットのオンディスクソートを有効にします。一時データは BE の doris-scratch/ ディレクトリに書き込まれ、クエリ完了後にクリアされます。この機能は実験的なものであるため、本番環境では有効にしないでください。
forward_to_master true true の場合、特定の SHOW ステートメントをマスター FE ノードに転送して実行します。マスター FE ノードは、SHOW FRONTENDS、SHOW BACKENDS、SHOW BROKER、SHOW TABLET、SHOW REPLICA DISTRIBUTION、SHOW REPLICA STATUS、および SHOW PROC に対してより詳細な情報を返します。
enable_profile false true の場合、各クエリの後にクエリプロファイルを FE に送信します。プロファイルは fe_host:fe_http_port/query で表示できます。このページには、この変数を有効にした後の直近 100 件のクエリが表示されます。
rewrite_count_distinct_to_bitmap_hll true true の場合、ビットマップまたは HyperLogLog (HLL) データに対して、COUNT DISTINCT を BITMAP_UNION_COUNT または HLL_UNION_AGG に置き換えます。
allow_partition_column_nullable true true の場合、パーティションキー列を NULL として定義できます。false の場合、パーティションキー列は NOT NULL でなければなりません。
enable_exchange_node_parallel_merge false true の場合、エクスチェンジノードは複数のスレッドを使用してソート済みデータを並列にマージし、大規模なソート操作におけるシングルスレッドのマージボトルネックを軽減します。
extract_wide_range_expr false true の場合、広範囲の共通因数抽出を有効にします。
enable_fold_constant_by_be false true の場合、定数畳み込みはリモートプロシージャコール (RPC) リクエストを介して BE で実行されます。false の場合、定数畳み込みは FE で実行されます。
disable_join_reorder false true の場合、すべての自動ジョインリオーダーアルゴリズムを無効にします。JOIN 操作は、SQL ステートメント内のテーブルの順序に従います。
enable_infer_predicate true true の場合、述語の導出を有効にします。false の場合、ApsaraDB for SelectDB は導出なしで元の述語を使用します。
trim_tailing_spaces_for_external_table_query false true の場合、Hive 外部テーブルをクエリする際に、フィールドの末尾のスペースをトリムします。
enable_inverted_index_query true true の場合、クエリで転置インデックスが使用されます。
skip_missing_version false true の場合、クエリは FE に記録された可視バージョンを無視し、代わりに BE レプリカバージョンを使用して、欠落しているバージョンをスキップします。緊急のデータ復旧シナリオでのみ使用してください。この変数は、use_fix_replica が -1 に設定されている場合にのみ有効になります。
enable_parquet_lazy_materialization true true の場合、Parquet Reader の遅延マテリアライゼーションを有効にします。
enable_orc_lazy_materialization true true の場合、ORC Reader の遅延マテリアライゼーションを有効にします。
enable_strong_consistency_read true true の場合、セッション間でのデータ読み取りの強い整合性を有効にします。デフォルトでは、強い整合性は同じセッション内でのみ維持されます。セッション間でのデータ読み取りの強い整合性を有効にする場合は、この変数を true に設定してください。
truncate_char_or_varchar_columns false true の場合、CHAR および VARCHAR 列を、基盤となる Parquet または ORC ファイルが異なる長さを使用していても、テーブルスキーマで定義された最大長に切り詰めます。
jdbc_clickhouse_query_final false true の場合、JDBC カタログ機能を介して実行される ClickHouse クエリに FINAL キーワードを追加し、ReplacingMergeTree テーブルエンジンでの重複排除を行います。
enable_memtable_on_sink_node false true の場合、インポート中にデータシンクノードにメモリテーブルを作成し、bRPC ストリーミングを介して他の BE ノードにセグメントを送信することで、レプリカ間での重複作業を削減します。
enable_unique_key_partial_update false true の場合、マージオンライト (MOW) モードを使用する Unique Key モデルのテーブルに対する INSERT INTO の部分列更新セマンティクスを有効にします。enable_unique_key_partial_update と enable_insert_strict の両方が true の場合、INSERT INTO は既存の行のみを更新できます。部分列更新で新しい行を挿入するには、enable_unique_key_partial_update を true に、enable_insert_strict を false に設定してください。
describe_extend_variant_column false true の場合、DESCRIBE 出力に VARIANT 型列のサブ列を表示します。
dry_run_query false true の場合、実際の結果セットではなく、行数のみを返します。データシンクノードは、データを書き込む代わりにドロップします。結果の送信オーバーヘッドなしで大規模データセットをテストする際に便利です。
drop_table_if_ctas_failed true true の場合、CREATE TABLE AS SELECT が書き込みエラーにより失敗した場合、作成されたテーブルを削除します。
show_user_default_role false true の場合、SHOW ROLES 出力に各ユーザーの暗黙的なロールを含めます。
group_by_and_having_use_alias_first false true の場合、GROUP BY および HAVING 句は、FROM 句を検索する前に列のエイリアスを解決します。
enable_file_cache false true の場合、ブロックファイルキャッシュを有効にします。この変数は、BE の be.conf ファイルに enable_file_cache=true も設定されている場合にのみ有効になります。
enable_auto_analyze true true の場合、自動統計収集を有効にします。
enable_cost_based_join_reorder false true の場合、コストベースのジョインリオーダーを有効にし、JOIN 操作でテーブルの順序を自動的に調整します。
enable_fallback_to_original_planner false true の場合、新しいオプティマイザがサポートされていないシナリオに遭遇した場合、自動的に元のオプティマイザにフォールバックします。
enable_odbc_transcation false true の場合、JDBC カタログへのデータ書き込みのトランザクションサポートを有効にします。
enable_parallel_outfile false true の場合、SELECT INTO OUTFILE の並列スキャンを有効にします。
enable_sql_cache false true の場合、SQL ステートメントの結果キャッシュを有効にします。
enable_unicode_name_support false true の場合、Unicode 文字(中国語を含む)を含むテーブル名および列名をサポートします。
enable_vectorized_engine true true の場合、ベクトル化エンジンを有効にしてクエリを高速化します。
experimental_enable_nereids_planner true true の場合、新しいオプティマイザ (Nereids) を有効にします。この機能は実験的なものです。
experimental_enable_pipeline_engine true true の場合、パイプライン実行エンジンを有効にします。この機能は実験的なものです。
experimental_enable_single_replica_insert false true の場合、データインポートのプライマリとして 1 つのレプリカを選択します。他のレプリカは、書き込み完了後にプライマリからデータファイルをプルし、レプリカ間での冗長な計算を削減します。
faster_float_convert false true の場合、より高速な浮動小数点数変換アルゴリズムを使用します。このアルゴリズムは出力形式を変更する可能性があることに注意してください。
enable_page_cache true true の場合、ページレベルのキャッシュを有効にします。
strict_mode false true の場合、データインポートの厳格モードを有効にします。

設定変数

設定変数は、単純な true / false を超える範囲の値を受け付けます。

変数 デフォルト 説明
auto_broadcast_join_threshold 0.8 ブロードキャスト結合で許容されるハッシュテーブルメモリの実行メモリ全体に対する最大比率。ハッシュテーブルがこの比率を超えると、ApsaraDB for SelectDB はシャッフル結合に切り替えます。-1 に設定すると、ブロードキャストを完全に無効化します。結合方法を明示的に制御するには、join[shuffle] などのクエリヒントを使用してください。
batch_size 1024 クエリ中にノード間で送信される 1 パケットあたりの行数。大きい値は大規模スキャンのスループットを向上させますが、小規模クエリのレイテンシとメモリ使用量を増加させることがあります。推奨範囲:1024~4096。
default_order_by_limit -1 ORDER BY 後に返されるデフォルトの行数。-1 は制限なし (最大 LONG 値まで) を意味します。
exec_mem_limit 2 GB 単一クエリの最大メモリ。単位を指定できます:bytes (デフォルト)、KB、MB、GB、TB、PB。フラグメントインスタンスごとのメモリを制限します。クラスター全体でのクエリの合計メモリではありません。Memory Exceed Limit エラーが発生した場合、この値を指数関数的に増やしてください (4 GB、8 GB、16 GB)。
lower_case_table_names 0 テーブル名の大文字と小文字の区別を制御します。0:大文字と小文字を区別します。1:大文字と小文字を区別しません。名前は小文字で保存され、比較されます。2:大文字と小文字を区別しません。名前は CREATE TABLE で指定されたとおりに保存されますが、小文字で比較されます。クラスターの初期化時に fe.conf で設定する必要があり、その後 SET で変更することはできません。
max_pushdown_conditions_per_column -1 列ごとにストレージエンジンにプッシュダウンされる述語条件の最大数。-1 は be.conf の値を使用します。正の値は、現在のセッションの be.conf をオーバーライドします。
max_scan_key_num -1 クエリごとにスキャンノードが分割できるスキャンキーの最大数。-1 は be.conf の値を使用します。正の値は、現在のセッションの be.conf をオーバーライドします。
parallel_exchange_instance_num -1 上流ノードが下流ノードからデータを受信するために使用するエクスチェンジノードの数。-1 は下流インスタンスの数と一致します。下流インスタンス数より少ない正の値は、エクスチェンジノードの数を制限します。これにより、集計出力が小さい集計クエリでオーバーヘッドを削減するのに役立ちます。
analyze_timeout 43200 秒 ANALYZE ステートメントのタイムアウト (秒単位)。
auto_analyze_end_time — 自動統計収集ウィンドウの終了時刻。
auto_analyze_start_time — 自動統計収集ウィンドウの開始時刻。
auto_analyze_table_width_threshold 70 この閾値を超える列数を持つテーブルは、自動統計収集から除外されます。
div_precision_increment 4 / 除算演算の結果に追加される小数点以下の桁数。
external_agg_bytes_threshold — 集計操作のメモリ閾値。これを超えると、メモリ内のデータがディスクへスピルされます。
external_sort_bytes_threshold — ソート操作のメモリ閾値。これを超えると、メモリ内のデータがディスクへスピルされます。
external_table_auto_analyze_interval_in_millis 86400000 ミリ秒 外部テーブルの自動統計収集間の最小間隔。
fragment_transmission_compression_codec lz4 ノード間のデータ送信時に使用される圧縮形式。
huge_table_auto_analyze_interval_in_millis 0 大規模テーブル (huge_table_lower_bound_size_in_bytes で指定されたサイズの 5 倍以上) の自動統計収集間の最小間隔。
huge_table_default_sample_rows 4194304 自動統計収集時に大規模テーブルからサンプリングされる行数。
huge_table_lower_bound_size_in_bytes 0 この閾値より大きいテーブルは、自動統計収集時にサンプリングされます。
ignore_runtime_filter_ids (空) 無視するランタイムフィルター ID。
max_filter_ratio 0 インポート中にフィルターで除外できる行の最大比率 (例:検証に失敗した行)。
max_instance_num 64 parallel_pipeline_task_num が設定されていない場合の、SQL クエリごとの同時パイプラインタスクの最大数。
parallel_pipeline_task_num 0 SQL クエリごとの同時パイプラインタスクの数。0 の場合、ApsaraDB for SelectDB はこの値を各 BE ノードの CPU コア数の半分 (最大 max_instance_num) に設定します。
runtime_filter_type IN またはブルームフィルター 使用されるランタイムフィルターのタイプ。オプション:ブルームフィルター、MinMax フィルター、IN 述語、IN またはブルームフィルター、ビットマップフィルター。
runtime_filter_mode GLOBAL ランタイムフィルターのプッシュダウンポリシー。オプション:OFF、LOCAL、GLOBAL。
runtime_filter_wait_time_ms 1000 ミリ秒 左側テーブルのスキャンノードが各ランタイムフィルターを待機する時間。
runtime_filters_max_num 10 クエリごとのブルームフィルターの最大数。
runtime_bloom_filter_min_size 1048576 バイト (1 MB) ブルームフィルターの最小サイズ。
runtime_bloom_filter_max_size 16777216 バイト (16 MB) ブルームフィルターの最大サイズ。
runtime_bloom_filter_size 2097152 バイト (2 MB) ブルームフィルターのデフォルトサイズ。
runtime_filter_max_in_num 1024 IN 述語を生成できる右側テーブルの最大行数。
parallel_fragment_exec_instance_num 1 各 BE ノードでスキャン範囲を処理するインスタンスの数。この値を増やすと、大規模クエリのスループットが向上しますが、CPU、メモリ、ディスク I/O の使用量が増加します。
query_timeout 900 秒 現在の接続におけるすべてのクエリステートメントのタイムアウト。INSERT ステートメントには、代わりに insert_timeout を使用してください。
insert_timeout 14400 秒 INSERT ステートメントのタイムアウト。insert_timeout が query_timeout より小さい場合、代わりに query_timeout が適用されます (下位互換性のため)。
send_batch_parallelism — INSERT 操作中のバッチデータ送信のデフォルト同時実行数。BE 設定項目 max_send_batch_parallelism_per_job が上限となります。
sql_mode — SQL 構文の互換性とデータ検証の厳密性を制御します。詳細については、「SQL Mode」をご参照ください。
sql_select_limit (制限なし) SELECT によって返されるデフォルトの最大行数 (INSERT 内の SELECT を含む)。
time_zone system_time_zone の値 現在のセッションのタイムゾーン。時間関数の結果に影響します。詳細については、「タイムゾーン変数」をご参照ください。
wait_timeout 28800 秒 (8 時間) アイドル接続のタイムアウト。ApsaraDB for SelectDB は、この期間よりも長くアイドル状態の接続を閉じます。
default_rowset_type beta コンピュートノードのデフォルトストレージ形式。有効な値:alpha、beta。
use_v2_rollup — クエリが Segment V2 形式の ROLLUP インデックスを使用するかどうかを制御します。Segment V2 移行時の検証に使用されます。
prefer_join_method — ブロードキャスト結合とシャッフル結合のコストが等しい場合に優先される結合方法。有効な値:broadcast、shuffle。
insert_visible_timeout_ms 10000 ミリ秒 INSERT 完了後、ApsaraDB for SelectDB がトランザクションのコミットとデータが可視になるのを待機する時間。最小値:1000 ミリ秒。
cpu_resource_limit -1 (制限なし) 単一ノードでクエリが使用できるスキャンスレッドの数を制限します。parallel_fragment_exec_instance_num をオーバーライドします。cpu_resource_limit ユーザープロパティがこの設定をオーバーライドします。この機能は実験的なものです。
return_object_data_as_binary — true の場合、SELECT の結果としてビットマップおよび HLL データをバイナリ形式で返します。SELECT INTO OUTFILE の場合、CSV 出力は Base64 としてエンコードされ、Parquet 出力はバイト配列として保存されます。Java での例:stmt.execute("set return_object_data_as_binary=true");。詳細については、「サンプル」をご参照ください。
block_encryption_mode NULL ブロック暗号化モード。AES_128_ECB は Advanced Encryption Standard (AES) アルゴリズムを使用します。SM4_128_ECB は ShangMi 4 (SM4) アルゴリズムを使用します。
default_password_lifetime 0 (期限切れなし) デフォルトのパスワード有効期限 (日数)。PASSWORD_EXPIRE DEFAULT ポリシーを持つユーザーにのみ適用されます。
password_history 0 (制限なし) 保持される過去のパスワードの数。PASSWORD_HISTORY DEFAULT ポリシーを持つユーザーにのみ適用されます。
validate_password_policy NONE (0) パスワード強度ポリシー。STRONG (2) は、大文字、小文字、数字、特殊文字 (~ ! @ # $ % ^ & * ( ) _ + | < > , . ? / : ; ' [ ] { } ") のうち少なくとも 3 種類を含む 8 文字以上のパスワードを要求します。
rewrite_or_to_in_predicate_threshold 2 IN 述語に書き換える前の OR 演算子の最小数。
file_cache_base_path random BE 上のブロックファイルキャッシュのストレージパス。デフォルトでは、BE 設定からランダムに選択されたパスになります。
topn_opt_limit_threshold 1024 トップ N クエリ最適化 (動的フィルタリング、2 フェーズ結果取得、キー順序読み取り) を有効にするための LIMIT 句の閾値。n <= threshold の場合に最適化が適用されます。
use_fix_replica -1 (無効) 0 以上に設定すると、常にそのシリアル番号順位のレプリカを使用します (0 = 最小)。

互換および予約済み変数

これらの変数は ApsaraDB for SelectDB では機能的な効果はありません。MySQL クライアントまたは JDBC 接続プールとの互換性のために用意されています。

変数 目的
SQL_AUTO_IS_NULL c3p0 JDBC 接続プールとの互換性のため。
auto_increment_increment MySQL クライアントとの互換性のため。自動インクリメントカラムの動作には影響しません。
auto_increment_offset MySQL クライアントとの互換性のため。自動インクリメントカラムの動作には影響しません。
autocommit MySQL クライアントとの互換性のため。
character_set_client MySQL クライアントとの互換性のため。
character_set_connection MySQL クライアントとの互換性のため。
character_set_results MySQL クライアントとの互換性のため。
character_set_server MySQL クライアントとの互換性のため。
collation_connection MySQL クライアントとの互換性のため。
collation_database MySQL クライアントとの互換性のため。
collation_server MySQL クライアントとの互換性のため。
have_query_cache MySQL クライアントとの互換性のため。
init_connect MySQL クライアントとの互換性のため。
interactive_timeout MySQL クライアントとの互換性のため。
language MySQL クライアントとの互換性のため。
max_allowed_packet c3p0 JDBC 接続プールとの互換性のため。
net_buffer_length MySQL クライアントとの互換性のため。
net_read_timeout MySQL クライアントとの互換性のため。
net_write_timeout MySQL クライアントとの互換性のため。
query_cache_size MySQL クライアントとの互換性のため。
query_cache_type c3p0 JDBC 接続プールとの互換性のため。
sql_safe_updates MySQL クライアントとの互換性のため。
tx_isolation MySQL クライアントとの互換性のため。
tx_read_only MySQL クライアントとの互換性のため。
transaction_read_only MySQL クライアントとの互換性のため。
transaction_isolation MySQL クライアントとの互換性のため。
version MySQL クライアントとの互換性のため。
performance_schema MySQL JDBC 8.0.16 以降との互換性のため。
codegen_level LLVM のコード生成レベルを設定します。効果はありません。
license ApsaraDB for SelectDB のライセンスを表示します。
resource_group 予約済み。
system_time_zone クラスター初期化時にシステムタイムゾーンに設定されます。変更できません。
version_comment ApsaraDB for SelectDB のバージョンを表示します。変更できません。
dump_nereids_memo リグレッションテストに使用されます。
group_concat_max_len 一部の BI ツールとの互換性のため。
be_number_for_test 実用的な効果はありません。
workload_group 予約済み。

参考資料