Skip to main content
これらの設定は system.settings で確認でき、ソースコード から自動生成されています。

enable_adaptive_aggregator

アダプティブ GROUP BY アルゴリズムを有効にします。各スレッドは、ローカルハッシュテーブルが adaptive_aggregator_freeze_threshold 個のキーに達するまで集計を行い、その後テーブルは固定されます。すでに出現した頻出キーの行はそのテーブル内で更新され続ける一方、新しいまれなキーはハッシュに基づいてバケットごとのバックログに振り分けられ、バケット並列マージ内で正確に1回だけ集計されます。頻出キーはキャッシュに収まる小さなテーブルに保持され、まれなキーはスレッドごとではなく1回だけ保存・処理されます。 外部集計の設定 (max_bytes_before_external_group_bymax_bytes_ratio_before_external_group_by) も考慮されます。しきい値を超えると、バックログは早期に共有テーブルへ排出されます。それでも使用量をしきい値未満に戻せない場合は、通常の外部集計により共有テーブルがディスクにスピルされます。

enable_adaptive_memory_spill_scheduler

トリガープロセッサが、データを外部ストレージへ適応的にスピルします。現時点でサポートされているのは grace join のみです。

enable_add_distinct_to_in_subqueries

IN サブクエリで DISTINCT を有効にします。これはトレードオフのある設定です。有効にすると、一意の値だけが送信されるようになるため、分散 IN サブクエリで転送される一時テーブルのサイズを大幅に削減でき、分片間のデータ転送を大きく高速化できます。 ただし、この設定を有効にすると、重複排除 (DISTINCT) を実行する必要があるため、各ノードで追加のマージ処理負荷が発生します。ネットワーク転送がボトルネックになっており、追加のマージコストを許容できる場合にこの設定を使用してください。

enable_automatic_decision_for_merging_across_partitions_for_final

有効にすると、パーティションキー式が決定論的であり、かつその式で使用されるすべてのカラムが主キーに含まれている場合、ClickHouse はこの最適化を自動的に有効にします。 この自動判定により、同じ主キー値を持つ行は常に同じパーティションに属することが保証されるため、パーティションをまたぐマージを回避しても安全です。

enable_cascades_optimizer

分散クエリプランに対して、Cascades のコストベースオプティマイザを有効にします。 make_distributed_plan = 1 と併用した場合にのみ有効になります。この設定だけでは、単一ノードのクエリプランニングは変更されません。

enable_early_constant_folding

関数やサブクエリの結果を解析し、定数が含まれている場合にクエリを書き換えるクエリ最適化を有効にします

enable_extended_results_for_datetime_functions

拡張範囲を持つ Date32 型 (Date 型と比較) または拡張範囲を持つ DateTime64 型 (DateTime 型と比較) の結果を返すかどうかを有効または無効にします。 設定可能な値:
  • 0 — 関数は、すべての型の引数に対して Date または DateTime を返します。
  • 1 — 関数は、Date32 または DateTime64 型の引数に対しては Date32 または DateTime64 を返し、それ以外の場合は Date または DateTime を返します。
以下のテーブルは、さまざまな日付/時刻関数に対するこの設定の動作を示しています。

enable_full_text_index

別名: allow_experimental_full_text_index true に設定すると、テキスト索引を使用できます。

enable_global_with_statement

WITH ステートメントを UNION クエリおよびすべてのサブクエリに伝播します

enable_hdfs_pread

HDFS ファイルでの pread の使用を有効または無効にします。デフォルトでは hdfsPread が使用されます。無効にすると、HDFS ファイルの読み取りには hdfsReadhdfsSeek が使用されます。

enable_http_compression

HTTPリクエストに対するレスポンスでのデータ圧縮を有効または無効にします。 詳細については、HTTPインターフェイスの説明を参照してください。 設定可能な値:
  • 0 — 無効。
  • 1 — 有効。

enable_identifier_resolve_cache

クエリ アナライザで識別子解決 cache を有効にします。この cache は、同じエイリアスが複数回参照されたときに AST が肥大化するのを防ぐため、解決済みのエイリアスノードを共有します。誤った結果が疑われる場合は、false に設定して cache を無効にします。

enable_job_stack_trace

ジョブの実行結果が例外になった場合に、ジョブ作成元のスタックトレースを出力します。パフォーマンスのオーバーヘッドを避けるため、デフォルトでは無効です。

enable_json_ast_dialect

dialect設定のclickhouse_json値を有効にします。 dialectclickhouse_jsonに設定されている場合、クエリはSQLテキストではなくJSON AST (parseQueryToJSONの出力) として解釈されます。ダイアレクトを元に戻せるよう、SETクエリは引き続き 通常のSQLとして解析されます。 例:

enable_lazy_columns_replication

JOINARRAY JOIN、および高階関数 (例: arrayMap) のラムダキャプチャでのカラムの遅延複製を有効にします。これにより、同じ行をメモリ上で何度も不必要にコピーするのを防げます。

enable_materialized_cte

マテリアライズド共通テーブル式を有効にします。enable_global_with_statement よりも優先されます。

enable_memory_bound_merging_of_aggregation_results

集約に対するメモリ制約付きのマージ戦略を有効にします。

enable_multiple_prewhere_read_steps

AND で結合された複数の条件がある場合、より多くの条件を WHERE から PREWHERE に移し、ディスクからの読み取りとフィルタリングを複数段階で実行します

enable_named_columns_in_function_tuple

すべての名前が一意で、クォートなしの識別子として扱える場合、tuple() 関数で名前付きタプルを生成します。

enable_order_by_all

ORDER BY ALL 構文でのソートを有効または無効にします。詳しくは ORDER BY を参照してください。 設定可能な値:
  • 0 — ORDER BY ALL を無効にします。
  • 1 — ORDER BY ALL を有効にします。
クエリ:
結果:

enable_packed_string_keys_in_aggregation

単一の非Nullable Stringキーに対するGROUP BYでは、16バイトにパックされた文字列参照 (PackedStringRef) をキーとするハッシュテーブルを使用します。最大11バイトのキーはパックされた参照内にインラインで格納され、より長いキーはアリーナで参照されます。 これはほとんどのワークロードで高速ですが、11バイトを超える異なるキーがごく少数のGROUP BYでは、従来方式より遅くなることがあります。特に12..24バイトの場合に顕著です。従来のハッシュテーブルはキーをセル内にインラインで保持する一方、パック方式ではプローブのたびにアリーナポインターを間接参照するためです。 無効にすると、従来のStringHashTableベースの方式 (26.8より前のデフォルト) が使用されます。 分散クエリに参加するすべてのサーバーで、この値が一致している必要があります。distributed_aggregation_memory_efficientでは、二段階バケット番号がキーのハッシュに依存し、そのハッシュは2つの方式で異なるため、この設定が一致しないサーバーでは同じキーが異なるバケットに分割され、不正にマージされた結果が生成される可能性があります。一致を保証するため、イニシエーターは有効な値を常にセカンダリクエリとともに送信します (サーバーまたはプロファイルのデフォルトから取得された値のみの場合も含む) 。これにより、リモートサーバー側のデフォルトは上書きされます。

enable_parsing_to_custom_serialization

true の場合、テーブルから取得したシリアライゼーションのヒントに基づいて、カスタムシリアライゼーション (例: スパース) を使用するカラムにデータを直接パースできます。

enable_producing_buckets_out_of_order_in_aggregation

メモリ効率の高い集約 (distributed_aggregation_memory_efficientを参照) で、バケットを順不同で生成できるようにします。 これにより、集約バケットのサイズに偏りがある場合でも、レプリカは id の小さい重いバケットをまだ処理している間に、id の大きいバケットをイニシエーターへ送信できるため、パフォーマンスが向上することがあります。 欠点として、メモリ使用量が増える可能性があります。

enable_reads_from_query_cache

有効にすると、SELECT クエリの結果が クエリキャッシュ から取得されます。 設定可能な値:
  • 0 - 無効
  • 1 - 有効

enable_s3_requests_logging

S3 リクエストの非常に詳細なログを有効にします。デバッグ時にのみ使用するのが適切です。

enable_scalar_subquery_optimization

true に設定すると、スカラーサブクエリで大きなスカラー値のシリアライズ/デシリアライズを防ぎ、同じサブクエリが複数回実行されるのを回避できる可能性があります。

enable_scopes_for_with_statement

無効にすると、親の WITH 句内の宣言は、現在のスコープで宣言された場合と同じスコープとして扱われます。 これはアナライザの互換性設定であり、旧アナライザでは実行できた一部の無効なクエリも実行できるようにするものです。

enable_sharding_aggregator

グループ化キーをハッシュ化して行をスレッド間に分散し、各スレッドがマージフェーズなしで重複しないキーの部分集合を集約する、分片化されたGROUP BY最適化を有効にします。 これは、データが均等に分散した高カーディナリティのキーに対して効率的ですが、キー分布に大きな偏りがある場合や、異なるキーがごく少ないクエリでは性能が低下することがあります。 設定可能な値:
  • 0 — 分片化集約の最適化は無効です。
  • 1 — 分片化集約の最適化は有効です。

enable_shared_storage_snapshot_in_query

有効にすると、1 つのクエリ内のすべてのサブクエリで、各テーブルについて同じ StorageSnapshot が共有されます。 これにより、同じテーブルに複数回アクセスする場合でも、クエリ全体を通して一貫したデータビューが保証されます。 これは、データパーツの内部整合性が重要となるクエリで必要です。例:
この設定がないと、外側のクエリと内側のクエリが異なるデータスナップショットを参照して実行され、不正確な結果になる可能性があります。 設定可能な値:
  • 0 - 無効
  • 1 - 有効

enable_sharing_sets_for_mutations

同じ mutation 内の異なるタスク間で、IN サブクエリ用に構築された set オブジェクトの共有を許可します。これにより、メモリ使用量と CPU 使用量を削減できます

enable_streaming_queries

SELECT ... FROM t STREAM [CURSOR '{...}'] の継続クエリを許可します。 オフの場合、STREAM 修飾子を使用するテーブル式はすべて プラン構築時に拒否されます。これは streaming-queries 機能全体を制御するゲートであり、追加の機能は それぞれ独自の設定で制御される場合があります。

enable_time_time64_type

別名: allow_experimental_time_time64_type Time および Time64 データ型を作成できるようにします。

enable_unaligned_array_join

サイズの異なる複数の配列に対する ARRAY JOIN を許可します。この設定を有効にすると、配列は最も長いものに合わせてリサイズされます。

enable_url_encoding

URL エンジンテーブルで、URI 内のパスのデコード/エンコードを有効または無効にします。 デフォルトでは無効です。

enable_vertical_final

有効にすると、FINAL 時の重複した行は、行をマージする代わりに削除済みとしてマークし、後でフィルタリングして除外します

enable_writes_to_query_cache

有効にすると、SELECT クエリの結果がクエリキャッシュに保存されます。 設定可能な値:
  • 0 - 無効
  • 1 - 有効
最終更新日 2026年8月18日