ClickHouse/docs/ja/operations/settings/settings.md
2024-11-18 11:58:58 +09:00

361 KiB
Raw Blame History

title sidebar_label slug toc_max_heading_level
コア設定 コア設定 /ja/operations/settings/settings 2

すべての設定は、テーブル system.settings で利用可能です。これらの設定は、source から自動生成されています。

add_http_cors_header

タイプ: Bool

デフォルト値: 0

HTTP CORS ヘッダーを追加します。

additional_result_filter

タイプ: String

デフォルト値:

SELECT クエリの結果に適用される追加のフィルター式です。この設定は、いかなるサブクエリにも適用されません。

INSERT INTO table_1 VALUES (1, 'a'), (2, 'bb'), (3, 'ccc'), (4, 'dddd');
SElECT * FROM table_1;
┌─x─┬─y────┐
│ 1 │ a    │
│ 2 │ bb   │
│ 3 │ ccc  │
│ 4 │ dddd │
└───┴──────┘
SELECT *
FROM table_1
SETTINGS additional_result_filter = 'x != 2'
┌─x─┬─y────┐
│ 1 │ a    │
│ 3 │ ccc  │
│ 4 │ dddd │
└───┴──────┘

additional_table_filters

タイプ: Map

デフォルト値: {}

指定されたテーブルから読み取った後に適用される追加のフィルター式です。

INSERT INTO table_1 VALUES (1, 'a'), (2, 'bb'), (3, 'ccc'), (4, 'dddd');
SELECT * FROM table_1;
┌─x─┬─y────┐
│ 1 │ a    │
│ 2 │ bb   │
│ 3 │ ccc  │
│ 4 │ dddd │
└───┴──────┘
SELECT *
FROM table_1
SETTINGS additional_table_filters = {'table_1': 'x != 2'}
┌─x─┬─y────┐
│ 1 │ a    │
│ 3 │ ccc  │
│ 4 │ dddd │
└───┴──────┘

aggregate_functions_null_for_empty

タイプ: Bool

デフォルト値: 0

クエリ内のすべての集約関数を書き換える機能を有効または無効にします。また、-OrNull サフィックスが追加されます。SQL 標準の互換性のために有効にします。分散クエリの一貫した結果を得るために、クエリのリライトを介して実装されています(count_distinct_implementation 設定に類似)。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

次の集約関数を使用したクエリを考えてみます。

SELECT SUM(-1), MAX(0) FROM system.one WHERE 0;

aggregate_functions_null_for_empty = 0 の場合、次の結果が表示されます:

┌─SUM(-1)─┬─MAX(0)─┐
│       0 │      0 │
└─────────┴────────┘

aggregate_functions_null_for_empty = 1 の場合、結果は次のようになります:

┌─SUMOrNull(-1)─┬─MAXOrNull(0)─┐
│          NULL │         NULL │
└───────────────┴──────────────┘

aggregation_in_order_max_block_bytes

タイプ: UInt64

デフォルト値: 50000000

プライマリーキーの順序で集約中に蓄積されるブロックの最大サイズ(バイト数)です。小さなブロックサイズは、集約の最終マージステージをより並列化することを可能にします。

aggregation_memory_efficient_merge_threads

タイプ: UInt64

デフォルト値: 0

メモリ効率の良いモードで中間集約結果をマージするために使用するスレッド数です。大きいほど、メモリが消費されます。0は「max_threads」と同じ意味です。

allow_aggregate_partitions_independently

タイプ: Bool

デフォルト値: 0

パーティションキーがグループ化キーに適合する場合、別々のスレッドでパーティションの独立した集約を有効にします。パーティションの数がコアの数に近く、パーティションのサイズが大まかに同じである場合に有益です。

allow_archive_path_syntax

タイプ: Bool

デフォルト値: 1

ファイル/S3 エンジン/テーブル関数は、アーカイブが正しい拡張子を持っている場合、'::' を '\<archive\> :: \<file\>' としてパスを解析します。

allow_asynchronous_read_from_io_pool_for_merge_tree

タイプ: Bool

デフォルト値: 0

MergeTree テーブルから読み取るためにバックグラウンド I/O プールを使用します。この設定は、I/O 処理に制約のあるクエリの性能を向上させる可能性があります。

allow_changing_replica_until_first_data_packet

タイプ: Bool

デフォルト値: 0

これが有効になっていると、ヘッジリクエストでは、最初のデータパケットを受信するまで新しい接続を開始できます。進行中でも、最初の進行が更新されていない場合 (ただし、receive_data_timeout タイムアウトが適用されている場合)、そうでなければ、進行が進んだ後はレプリカの変更を無効にします。

allow_create_index_without_type

タイプ: Bool

デフォルト値: 0

TYPE なしで CREATE INDEX クエリを許可します。クエリは無視されます。SQL 互換性テストのために行われています。

allow_custom_error_code_in_throwif

タイプ: Bool

デフォルト値: 0

throwIf() 関数にカスタムエラーコードを有効にします。これが真の場合、投げられた例外が予期しないエラーコードを持つ可能性があります。

allow_ddl

タイプ: Bool

デフォルト値: 1

これが真に設定されている場合、ユーザーは DDL クエリを実行することが許可されます。

allow_deprecated_database_ordinary

タイプ: Bool

デフォルト値: 0

非推奨の Ordinary エンジンを使用してデータベースを作成することを許可します。

allow_deprecated_error_prone_window_functions

タイプ: Bool

デフォルト値: 0

エラーが発生しやすいウィンドウ関数neighbor, runningAccumulate, runningDifferenceStartingWithFirstValue, runningDifferenceの使用を許可します。

allow_deprecated_snowflake_conversion_functions

タイプ: Bool

デフォルト値: 0

snowflakeToDateTimesnowflakeToDateTime64dateTimeToSnowflake、および dateTime64ToSnowflake 関数は非推奨で、デフォルトで無効にされています。代わりに snowflakeIDToDateTimesnowflakeIDToDateTime64dateTimeToSnowflakeID、および dateTime64ToSnowflakeID 関数を使用してください。

非推奨の関数を再度有効にするには(例:移行期間中)、この設定を true に設定してください。

allow_deprecated_syntax_for_merge_tree

タイプ: Bool

デフォルト値: 0

非推奨のエンジン定義構文を使用して *MergeTree テーブルを作成することを許可します。

allow_distributed_ddl

タイプ: Bool

デフォルト値: 1

これが真に設定されている場合、ユーザーは分散 DDL クエリを実行することが許可されます。

allow_drop_detached

タイプ: Bool

デフォルト値: 0

ALTER TABLE ... DROP DETACHED PART[ITION] ... クエリを許可します。

allow_execute_multiif_columnar

タイプ: Bool

デフォルト値: 1

multiIf 関数をカラム形式で実行することを許可します。

allow_experimental_analyzer

タイプ: Bool

デフォルト値: 1

新しいクエリアナライザーを許可します。

allow_experimental_codecs

タイプ: Bool

デフォルト値: 0

これが真に設定されている場合、エクスペリメンタルな圧縮コーデックを指定することを許可します(ただし、現時点ではそれは存在せず、このオプションは何も実行されません)。

allow_experimental_database_materialized_mysql

タイプ: Bool

デフォルト値: 0

Engine=MaterializedMySQL(...) を使用してデータベースを作成することを許可します。

allow_experimental_database_materialized_postgresql

タイプ: Bool

デフォルト値: 0

Engine=MaterializedPostgreSQL(...) を使用してデータベースを作成することを許可します。

allow_experimental_dynamic_type

タイプ: Bool

デフォルト値: 0

Dynamic データ型を許可します。

allow_experimental_full_text_index

タイプ: Bool

デフォルト値: 0

これが真に設定されている場合、エクスペリメンタルなフルテキストインデックスを使用することを許可します。

allow_experimental_funnel_functions

タイプ: Bool

デフォルト値: 0

ファunnel 分析のためのエクスペリメンタルな関数を有効にします。

allow_experimental_hash_functions

タイプ: Bool

デフォルト値: 0

エクスペリメンタルなハッシュ関数を有効にします。

allow_experimental_inverted_index

タイプ: Bool

デフォルト値: 0

これが真に設定されている場合、エクスペリメンタルなインバーテッドインデックスを使用することを許可します。

allow_experimental_join_condition

タイプ: Bool

デフォルト値: 0

左テーブルと右テーブルの両方のカラムを含む非等式条件での結合をサポートします。例: t1.y < t2.y。

allow_experimental_join_right_table_sorting

タイプ: Bool

デフォルト値: 0

これが真に設定されている場合、join_to_sort_minimum_perkey_rowsjoin_to_sort_maximum_table_rows の条件が満たされていると、右テーブルをキーで並べ替え、左または内部ハッシュ結合でパフォーマンスを向上させます。

allow_experimental_json_type

タイプ: Bool

デフォルト値: 0

JSON データ型を許可します。

allow_experimental_kafka_offsets_storage_in_keeper

タイプ: Bool

デフォルト値: 0

ClickHouse Keeper に Kafka 関連のオフセットを保存するためのエクスペリメンタルな機能を許可します。有効にすると、ClickHouse Keeper パスとレプリカ名を Kafka テーブルエンジンに指定できます。この結果、通常の Kafka エンジンの代わりに、コミットされたオフセットを主に ClickHouse Keeper に保存する新しいタイプのストレージエンジンが使用されます。

allow_experimental_live_view

タイプ: Bool

デフォルト値: 0

非推奨の LIVE VIEW の作成を許可します。

可能な値:

  • 0 — ライブビューでの操作が無効です。
  • 1 — ライブビューでの操作が有効です。

allow_experimental_materialized_postgresql_table

タイプ: Bool

デフォルト値: 0

MaterializedPostgreSQL テーブルエンジンを使用することを許可します。デフォルトでは無効です。この機能はエクスペリメンタルです。

allow_experimental_nlp_functions

タイプ: Bool

デフォルト値: 0

自然言語処理のためのエクスペリメンタルな関数を有効にします。

allow_experimental_object_type

タイプ: Bool

デフォルト値: 0

Object および JSON データ型を許可します。

allow_experimental_parallel_reading_from_replicas

タイプ: UInt64

デフォルト値: 0

SELECT クエリの実行のために、各シャードから max_parallel_replicas の数だけのレプリカを使用します。読み取りは、動的に並列化され、調整されます。0 - オフ、1 - 有効、失敗した場合は静かに無効化、2 - 有効、失敗した場合に例外をスローします。

allow_experimental_query_deduplication

タイプ: Bool

デフォルト値: 0

部分 UUID に基づく SELECT クエリのエクスペリメンタルなデータ重複排除です。

allow_experimental_shared_set_join

タイプ: Bool

デフォルト値: 1

ClickHouse Cloud のみ。ShareSet および SharedJoin の作成を許可します。

allow_experimental_statistics

タイプ: Bool

デフォルト値: 0

統計を持つカラムの定義および統計を操作を許可します。

allow_experimental_time_series_table

タイプ: Bool

デフォルト値: 0

TimeSeries テーブルエンジンを持つテーブルの作成を許可します。

可能な値:

  • 0 — TimeSeries テーブルエンジンは無効です。
  • 1 — TimeSeries テーブルエンジンは有効です。

allow_experimental_variant_type

タイプ: Bool

デフォルト値: 0

エクスペリメンタルな Variant の作成を許可します。

allow_experimental_vector_similarity_index

タイプ: Bool

デフォルト値: 0

エクスペリメンタルなベクトル類似度インデックスを許可します。

allow_experimental_window_view

タイプ: Bool

デフォルト値: 0

WINDOW VIEW を有効にします。成熟していません。

allow_get_client_http_header

タイプ: Bool

デフォルト値: 0

現在の HTTP リクエストのヘッダーの値を取得するための getClientHTTPHeader 関数を使用することを許可します。セキュリティ上の理由からデフォルトでは有効になっていません。一部のヘッダー(Cookie など)には機密情報が含まれる可能性があります。この関数で取得できないヘッダーは、X-ClickHouse-* および Authentication ヘッダーです。

allow_hyperscan

タイプ: Bool

デフォルト値: 1

Hyperscan ライブラリを使用する関数を許可します。長いコンパイル時間や過剰なリソース使用を避けるために無効にします。

allow_introspection_functions

タイプ: Bool

デフォルト値: 0

クエリプロファイリングのための イントロスペクション関数 を有効または無効にします。

可能な値:

  • 1 — インストロスペクション関数有効。
  • 0 — インストロスペクション関数無効。

参照

allow_materialized_view_with_bad_select

タイプ: Bool

デフォルト値: 1

存在しないテーブルやカラムを参照する SELECT クエリを使用して CREATE MATERIALIZED VIEW を許可します。それは依然として構文的に有効でなければなりません。リフレッシュ可能な MV には適用されません。SELECT クエリから MV スキーマを推測する必要がある場合すなわち、CREATE にカラムリストがなく TO テーブルがない場合には適用されません。MV のソーステーブルを作成するために使用できます。

allow_named_collection_override_by_default

タイプ: Bool

デフォルト値: 1

デフォルトで名前付きコレクションのフィールドをオーバーライドすることを許可します。

allow_non_metadata_alters

タイプ: Bool

デフォルト値: 1

テーブルメタデータだけでなく、ディスク上のデータにも影響を与える ALTER を実行することを許可します。

allow_nonconst_timezone_arguments

タイプ: Bool

デフォルト値: 0

toTimeZone()、fromUnixTimestamp*()、snowflakeToDateTime*() のような特定の時間関連関数で非定数のタイムゾーン引数を許可します。

allow_nondeterministic_mutations

タイプ: Bool

デフォルト値: 0

ユーザーレベルの設定で、レプリケートされたテーブルが dictGet のような非決定的関数を使用するための変更を許可します。

例えば、Dictionaryがード間で同期していない可能性があるため、Dictionaryから値を引っ張る変更がデフォルメでレプリケートされたテーブルでは許可されていません。この設定を有効にすると、この動作が許可されます。このデータがすべてのード間で同期されていることをユーザーが確認する責任があります。

<profiles>
    <default>
        <allow_nondeterministic_mutations>1</allow_nondeterministic_mutations>

        <!-- ... -->
    </default>

    <!-- ... -->

</profiles>

allow_nondeterministic_optimize_skip_unused_shards

タイプ: Bool

デフォルト値: 0

シャーディングキー内の非決定的(例えば、rand または dictGet、後者には更新に関していくつかの注意事項があります)機能を許可します。

可能な値:

  • 0 — 不許可。
  • 1 — 許可。

allow_prefetched_read_pool_for_local_filesystem

タイプ: Bool

デフォルト値: 0

すべての部分がローカルファイルシステムにある場合、プリフェッチスレッドプールを優先します。

allow_prefetched_read_pool_for_remote_filesystem

タイプ: Bool

デフォルト値: 1

すべての部分がリモートファイルシステムにある場合、プリフェッチスレッドプールを優先します。

allow_push_predicate_when_subquery_contains_with

タイプ: Bool

デフォルト値: 1

サブクエリに WITH 句が含まれている場合、プッシュ述語を許可します。

allow_reorder_prewhere_conditions

タイプ: Bool

デフォルト値: 1

WHERE から PREWHERE に条件を移動する際、最適化フィルタリングのためにそれらを再順序にすることを許可します。

allow_settings_after_format_in_insert

タイプ: Bool

デフォルト値: 0

INSERT クエリ内の FORMAT の後に SETTINGS が許可されるかどうかを制御します。これは推奨されておらず、これにより SETTINGS の一部が値として解釈される可能性があります。

例:

INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');

しかし、次のクエリは allow_settings_after_format_in_insert のみで機能します:

SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;

可能な値:

  • 0 — 不許可。
  • 1 — 許可。

:::note この設定は、旧構文に依存するユースケースの場合にのみ、後方互換性のために使用します。 :::

allow_simdjson

タイプ: Bool

デフォルト値: 1

AVX2 命令が利用可能な場合、'JSON*' 関数で simdjson ライブラリを使用することを許可します。無効にすると、rapidjson が使用されます。

allow_statistics_optimize

タイプ: Bool

デフォルト値: 0

クエリを最適化するために統計を使用することを許可します。

allow_suspicious_codecs

タイプ: Bool

デフォルト値: 0

これが真に設定されている場合、意味のない圧縮コーデックを指定することを許可します。

allow_suspicious_fixed_string_types

タイプ: Bool

デフォルト値: 0

CREATE TABLE ステートメントにおいて、n > 256 の FixedString(n) タイプのカラムを作成することを許可します。長さが 256 以上の FixedString は疑わしく、誤用を示す可能性が高いです。

allow_suspicious_indices

タイプ: Bool

デフォルト値: 0

同一の式を持つプライマリ/セカンダリインデックスおよびソートキーを拒否します。

allow_suspicious_low_cardinality_types

タイプ: Bool

デフォルト値: 0

8 バイト以下の固定サイズのデータ型と一緒に LowCardinality を使用することを許可または制限します。数値データ型および FixedString(8_bytes_or_less)

小さな固定値に対して LowCardinality の使用は通常非効率的です。なぜなら、ClickHouse は各行に対して数値インデックスを保存するからです。その結果:

  • ディスクスペースの使用量が増加する可能性があります。
  • RAM 消費が高くなる可能性があります。Dictionaryのサイズに依存します。
  • 一部の関数は、追加のコーディング/エンコーディング操作のために遅くなることがあります。

MergeTree エンジンテーブル内でのマージ時間は、上記のすべての理由により増加する可能性があります。

可能な値:

  • 1 — LowCardinality の使用は制限されません。
  • 0 — LowCardinality の使用は制限されます。

allow_suspicious_primary_key

タイプ: Bool

デフォルト値: 0

MergeTree の疑わしい PRIMARY KEY/ORDER BY を許可しますすなわち、SimpleAggregateFunction

allow_suspicious_ttl_expressions

タイプ: Bool

デフォルト値: 0

テーブルのカラムに依存しない TTL 式を拒否します。これはほとんどの場合、ユーザーエラーを示しています。

allow_suspicious_types_in_group_by

タイプ: Bool

デフォルト値: 0

GROUP BY キーで Variant および Dynamic タイプの使用を許可または制限します。

allow_suspicious_types_in_order_by

タイプ: Bool

デフォルト値: 0

ORDER BY キーで Variant および Dynamic タイプの使用を許可または制限します。

allow_suspicious_variant_types

タイプ: Bool

デフォルト値: 0

CREATE TABLE ステートメントで、類似のバリアントタイプ(例えば、異なる数値または日付型)を持つバリアントタイプを指定することを許可します。この設定を有効にすると、類似のタイプを持つ値で作業する際に若干の曖昧性を引き起こす可能性があります。

allow_unrestricted_reads_from_keeper

タイプ: Bool

デフォルト値: 0

条件なしで system.zookeeper テーブルからの無制限の読み取りを許可します。便利ですが、zookeeper に対して安全ではありません。

alter_move_to_space_execute_async

タイプ: Bool

デフォルト値: 0

ALTER TABLE MOVE ... TO [DISK|VOLUME] を非同期に実行します。

alter_partition_verbose_result

タイプ: Bool

デフォルト値: 0

パーティションおよび部品の操作が正常に適用された部品に関する情報の表示を有効または無効にします。これは ATTACH PARTITION|PART および FREEZE PARTITION に適用されます。

可能な値:

  • 0 — 詳細表示を無効にします。
  • 1 — 詳細表示を有効にします。

CREATE TABLE test(a Int64, d Date, s String) ENGINE = MergeTree PARTITION BY toYYYYMDECLARE(d) ORDER BY a;
INSERT INTO test VALUES(1, '2021-01-01', '');
INSERT INTO test VALUES(1, '2021-01-01', '');
ALTER TABLE test DETACH PARTITION ID '202101';

ALTER TABLE test ATTACH PARTITION ID '202101' SETTINGS alter_partition_verbose_result = 1;

┌─command_type─────┬─partition_id─┬─part_name────┬─old_part_name─┐
 ATTACH PARTITION  202101        202101_7_7_0  202101_5_5_0  
 ATTACH PARTITION  202101        202101_8_8_0  202101_6_6_0  
└──────────────────┴──────────────┴──────────────┴───────────────┘

ALTER TABLE test FREEZE SETTINGS alter_partition_verbose_result = 1;

┌─command_type─┬─partition_id─┬─part_name────┬─backup_name─┬─backup_path───────────────────┬─part_backup_path────────────────────────────────────────────┐
 FREEZE ALL    202101        202101_7_7_0  8            /var/lib/clickhouse/shadow/8/  /var/lib/clickhouse/shadow/8/data/default/test/202101_7_7_0 
 FREEZE ALL    202101        202101_8_8_0  8            /var/lib/clickhouse/shadow/8/  /var/lib/clickhouse/shadow/8/data/default/test/202101_8_8_0 
└──────────────┴──────────────┴──────────────┴─────────────┴───────────────────────────────┴─────────────────────────────────────────────────────────────┘

alter_sync

タイプ: UInt64

デフォルト値: 1

ALTEROPTIMIZE、または TRUNCATE クエリによってレプリカでのアクションが実行されるのを待つ設定を行うことができます。

可能な値:

  • 0 — 待機しない。
  • 1 — 自分の実行を待つ。
  • 2 — すべてを待つ。

クラウドデフォルト値: 0

:::note alter_syncReplicated テーブルにのみ適用され、Replicated でないテーブルの変更には無効です。 :::

analyze_index_with_space_filling_curves

タイプ: Bool

デフォルト値: 1

テーブルのインデックスに空間充填曲線がある場合(例: ORDER BY mortonEncode(x, y) または ORDER BY hilbertEncode(x, y))、およびクエリがその引数に条件を持つ場合(例: x >= 10 AND x <= 20 AND y >= 20 AND y <= 30)、インデックス分析のために空間充填曲線を使用します。

analyzer_compatibility_join_using_top_level_identifier

タイプ: Bool

デフォルト値: 0

プロジェクションからの JOIN USING での識別子の解決を強制します(例えば、SELECT a + 1 AS b FROM t1 JOIN t2 USING (b) の場合、結合は t1.a + 1 = t2.b によって行われ、t1.b = t2.b ではありません)。

any_join_distinct_right_table_keys

タイプ: Bool

デフォルト値: 0

ANY INNER|LEFT JOIN 操作における従来の ClickHouse サーバの動作を有効にします。

:::note この設定は、従来の JOIN の動作に依存するユースケースがある場合のみ使用してください。 :::

従来の動作が有効な場合:

  • t1 ANY LEFT JOIN t2t2 ANY RIGHT JOIN t1 操作の結果は等しくありません。なぜなら、ClickHouse は多対一の左から右にマッピングされたテーブルキーのロジックを使用するからです。
  • ANY INNER JOIN 操作の結果は、SEMI LEFT JOIN 操作と同様に、左テーブルのすべての行を含みます。

従来の動作が無効な場合:

  • t1 ANY LEFT JOIN t2t2 ANY RIGHT JOIN t1 操作の結果は等しいことが保証されます。ClickHouse は ANY RIGHT JOIN 操作での一対多のキーのマッピングを提供するロジックを使用するためです。
  • ANY INNER JOIN 操作の結果は、左および右の両方のテーブルからキーごとに一行を含みます。

可能な値:

  • 0 — 従来の動作が無効。
  • 1 — 従来の動作が有効。

参照:

apply_deleted_mask

タイプ: Bool

デフォルト値: 1

論理削除で削除された行をフィルタリングする機能を有効または無効にします。これが無効になっている場合、クエリはこれらの行を読み取ることができます。これはデバッグや「未削除」シナリオに便利です。

apply_mutations_on_fly

タイプ: Bool

デフォルト値: 0

これが真の場合、データ部分にマテリアライズされていない変異UPDATE および DELETEが SELECT に適用されます。ClickHouse Cloud のみで利用可能です。

asterisk_include_alias_columns

タイプ: Bool

デフォルト値: 0

ワイルドカードクエリ(SELECT *)のために ALIAS カラムを含めます。

可能な値:

  • 0 - 無効
  • 1 - 有効

asterisk_include_materialized_columns

タイプ: Bool

デフォルト値: 0

ワイルドカードクエリ(SELECT *)のために MATERIALIZED カラムを含めます。

可能な値:

  • 0 - 無効
  • 1 - 有効

async_insert

タイプ: Bool

デフォルト値: 0

これが真の場合、INSERT クエリからのデータはキューに保存され、その後バックグラウンドでテーブルにフラッシュされます。wait_for_async_insert が false の場合、INSERT クエリはほぼ瞬時に処理されます。そうでない場合、クライアントはデータがテーブルにフラッシュされるまで待機します。

async_insert_busy_timeout_decrease_rate

タイプ: Double

デフォルト値: 0.2

適応的な非同期挿入タイムアウトが減少する際の指数成長率。

async_insert_busy_timeout_increase_rate

タイプ: Double

デフォルト値: 0.2

適応的な非同期挿入タイムアウトが増加する際の指数成長率。

async_insert_busy_timeout_max_ms

タイプ: ミリ秒

デフォルト値: 200

最初のデータが現れた後、クエリごとに収集されたデータをダンプするまで待機する最大時間。

async_insert_busy_timeout_min_ms

タイプ: ミリ秒

デフォルト値: 50

自動調整が async_insert_use_adaptive_busy_timeout を通じて有効になっている場合、最初のデータが現れてからクエリごとに収集されたデータをダンプするまでの最小時間。この値は、適応アルゴリズムの初期値としても機能します。

async_insert_deduplicate

タイプ: Bool

デフォルト値: 0

レプリケートされたテーブルでの非同期 INSERT クエリの場合、挿入ブロックの重複排除が行われるべきことを示します。

async_insert_max_data_size

タイプ: UInt64

デフォルト値: 10485760

挿入される前のクエリごとに収集された未解析データの最大サイズ(バイト数)。

async_insert_max_query_number

タイプ: UInt64

デフォルト値: 450

挿入される前の最大クエリ数。

async_insert_poll_timeout_ms

タイプ: ミリ秒

デフォルト値: 10

非同期挿入キューからデータをポーリングするためのタイムアウト。

async_insert_use_adaptive_busy_timeout

タイプ: Bool

デフォルト値: 1

これが真に設定されている場合、非同期挿入のために適応的ビジータイムアウトを使用します。

async_query_sending_for_remote

タイプ: Bool

デフォルト値: 1

リモートクエリを実行する際の非同期接続作成およびクエリ送信を有効にします。

デフォルトで有効です。

async_socket_for_remote

タイプ: Bool

デフォルト値: 1

リモートクエリを実行する際のソケットからの非同期読み取りを有効にします。

デフォルトで有効です。

azure_allow_parallel_part_upload

タイプ: Bool

デフォルト値: 1

複数のスレッドで Azure マルチパートアップロードを使用します。

azure_check_objects_after_upload

タイプ: Bool

デフォルト値: 0

アップロードが成功したことを確認するために、Azure Blob ストレージにアップロードされた各オブジェクトをチェックします。

azure_create_new_file_on_insert

タイプ: Bool

デフォルト値: 0

Azure エンジンテーブルに各挿入時に新しいファイルを作成することを有効または無効にします。

azure_ignore_file_doesnt_exist

タイプ: Bool

デフォルト値: 0

特定のキーを読み取る際にファイルが存在しない場合、その不在を無視します。

可能な値:

  • 1 — SELECT は空の結果を返します。
  • 0 — SELECT は例外をスローします。

azure_list_object_keys_size

タイプ: UInt64

デフォルト値: 1000

ListObject リクエストによってバッチで返される可能性のあるファイルの最大数。

azure_max_blocks_in_multipart_upload

タイプ: UInt64

デフォルト値: 50000

Azure のマルチパートアップロードでの最大ブロック数。

azure_max_inflight_parts_for_one_file

タイプ: UInt64

デフォルト値: 20

マルチパートアップロードリクエストで同時に読み込まれる部品の最大数。0 は無制限を意味します。

azure_max_single_part_copy_size

タイプ: UInt64

デフォルト値: 268435456

Azure Blob ストレージに単一のパートコピーを使用してコピーする際のオブジェクトの最大サイズ。

azure_max_single_part_upload_size

タイプ: UInt64

デフォルト値: 104857600

以下は、単一パートアップロードを使用して Azure Blob ストレージにアップロードするオブジェクトの最大サイズに関する ClickHouse ドキュメントの翻訳です。

azure_max_single_read_retries

タイプ: UInt64

デフォルト値: 4

単一の Azure Blob ストレージリード中の最大リトライ回数。

azure_max_unexpected_write_error_retries

タイプ: UInt64

デフォルト値: 4

Azure Blob ストレージへの書き込み中に予期しないエラーが発生した場合の最大リトライ回数。

azure_max_upload_part_size

タイプ: UInt64

デフォルト値: 5368709120

マルチパートアップロード中に Azure Blob ストレージにアップロードするパートの最大サイズ。

azure_min_upload_part_size

タイプ: UInt64

デフォルト値: 16777216

マルチパートアップロード中に Azure Blob ストレージにアップロードするパートの最小サイズ。

azure_sdk_max_retries

タイプ: UInt64

デフォルト値: 10

Azure SDK の最大リトライ回数。

azure_sdk_retry_initial_backoff_ms

タイプ: UInt64

デフォルト値: 10

Azure SDK におけるリトライ間の最小バックオフ時間(ミリ秒)。

azure_sdk_retry_max_backoff_ms

タイプ: UInt64

デフォルト値: 1000

Azure SDK におけるリトライ間の最大バックオフ時間(ミリ秒)。

azure_skip_empty_files

タイプ: Bool

デフォルト値: 0

S3 エンジンで空のファイルをスキップするかどうかを有効または無効にします。

可能な値:

  • 0 — 空のファイルが要求されたフォーマットと互換性がない場合、SELECT は例外をスローします。
  • 1 — 空のファイルに対して SELECT は空の結果を返します。

azure_strict_upload_part_size

タイプ: UInt64

デフォルト値: 0

Azure Blob ストレージにマルチパートアップロード中にアップロードするパートの正確なサイズ。

azure_throw_on_zero_files_match

タイプ: Bool

デフォルト値: 0

グロブ拡張ルールに基づいて一致するファイルがゼロの場合にエラーをスローします。

可能な値:

  • 1 — SELECT は例外をスローします。
  • 0 — SELECT は空の結果を返します。

azure_truncate_on_insert

タイプ: Bool

デフォルト値: 0

Azure エンジンテーブルに挿入する前に切り捨てを有効または無効にします。

azure_upload_part_size_multiply_factor

タイプ: UInt64

デフォルト値: 2

Azure Blob ストレージに一度の書き込みからアップロードされた azure_multiply_parts_count_threshold パーツごとに azure_min_upload_part_size に掛ける係数。

azure_upload_part_size_multiply_parts_count_threshold

タイプ: UInt64

デフォルト値: 500

この数のパーツが Azure Blob ストレージにアップロードされるたびに、azure_min_upload_part_size は azure_upload_part_size_multiply_factor で掛け算されます。

backup_restore_batch_size_for_keeper_multi

タイプ: UInt64

デフォルト値: 1000

バックアップまたはリストア中の [Zoo]Keeper へのマルチリクエストの最大バッチサイズ。

backup_restore_batch_size_for_keeper_multiread

タイプ: UInt64

デフォルト値: 10000

バックアップまたはリストア中の [Zoo]Keeper へのマルチリードリクエストの最大バッチサイズ。

backup_restore_failure_after_host_disconnected_for_seconds

タイプ: UInt64

デフォルト値: 3600

BACKUP ON CLUSTER または RESTORE ON CLUSTER 操作中にホストがこの時間内に ZooKeeper 内の一時的な 'alive' ノードを再作成しない場合、全体のバックアップまたはリストアは失敗と見なされます。 この値は、ホストが障害後に ZooKeeper に再接続するのに十分な合理的な時間より大きい必要があります。 ゼロは無制限を意味します。

backup_restore_finish_timeout_after_error_sec

タイプ: UInt64

デフォルト値: 180

イニシエーターが他のホストの 'error' ノードへの反応を待っている間の時間。

backup_restore_keeper_fault_injection_probability

タイプ: Float

デフォルト値: 0

バックアップまたはリストア中の keeper リクエストの障害挿入の近似確率。有効な値は [0.0f, 1.0f] の範囲です。

backup_restore_keeper_fault_injection_seed

タイプ: UInt64

デフォルト値: 0

0 - ランダムシード、そうでなければ設定値。

backup_restore_keeper_max_retries

タイプ: UInt64

デフォルト値: 1000

バックアップまたはリストア操作中の [Zoo]Keeper 操作の最大リトライ回数。 一時的な [Zoo]Keeper 障害のために操作全体が失敗しないように十分大きい必要があります。

backup_restore_keeper_max_retries_while_handling_error

タイプ: UInt64

デフォルト値: 20

BACKUP ON CLUSTER または RESTORE ON CLUSTER 操作のエラーを処理する際の [Zoo]Keeper 操作の最大リトライ回数。

backup_restore_keeper_max_retries_while_initializing

タイプ: UInt64

デフォルト値: 20

BACKUP ON CLUSTER または RESTORE ON CLUSTER 操作の初期化中の [Zoo]Keeper 操作の最大リトライ回数。

backup_restore_keeper_retry_initial_backoff_ms

タイプ: UInt64

デフォルト値: 100

バックアップまたはリストア中の [Zoo]Keeper 操作の初期バックオフタイムアウト。

backup_restore_keeper_retry_max_backoff_ms

タイプ: UInt64

デフォルト値: 5000

バックアップまたはリストア中の [Zoo]Keeper 操作の最大バックオフタイムアウト。

backup_restore_keeper_value_max_size

タイプ: UInt64

デフォルト値: 1048576

バックアップ中の [Zoo]Keeper のノードのデータの最大サイズ。

backup_restore_s3_retry_attempts

タイプ: UInt64

デフォルト値: 1000

Aws::Client::RetryStrategy の設定。Aws::Client は自動的にリトライを行い、0 はリトライを行わないことを意味します。これはバックアップ/リストアにのみ適用されます。

cache_warmer_threads

タイプ: UInt64

デフォルト値: 4

ClickHouse Cloud のみで使用可能。キャッシュがフェッチによってポピュレートされるときに、新しいデータパーツをファイルキャッシュに推測的にダウンロードするためのバックグラウンドスレッドの数。ゼロは無効にします。

calculate_text_stack_trace

タイプ: Bool

デフォルト値: 1

クエリ実行中の例外発生時にテキストスタックトレースを計算します。これはデフォルトです。シンボル解決を必要とし、大量の誤ったクエリを実行する場合、ファジングテストが遅くなる可能性があります。通常の場合、これは無効にしないでください。

cancel_http_readonly_queries_on_client_close

タイプ: Bool

デフォルト値: 0

クライアントが応答を待たずに接続を閉じるときに HTTP 読取り専用クエリ(例: SELECTをキャンセルします。

クラウドデフォルト値: 1

cast_ipv4_ipv6_default_on_conversion_error

タイプ: Bool

デフォルト値: 0

IPv4 への CAST 演算子、IPv6 への CAST 演算子、toIPv4、toIPv6 関数は、変換エラー時に例外をスローする代わりにデフォルト値を返します。

cast_keep_nullable

タイプ: Bool

デフォルト値: 0

CAST 操作における Nullable データ型の保持を有効または無効にします。

設定が有効になっている場合、CAST 関数の引数が Nullable であれば、結果も Nullable 型に変換されます。設定が無効の場合、結果は常に正確に宛先型になります。

可能な値:

  • 0 — CAST 結果は指定された宛先型と正確に一致します。
  • 1 — 引数の型が Nullable の場合、CAST 結果は Nullable(DestinationDataType) に変換されます。

以下のクエリは、宛先データ型を正確に返します。

SET cast_keep_nullable = 0;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

結果:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Int32                                             │
└───┴───────────────────────────────────────────────────┘

以下のクエリは、宛先データ型に Nullable 修飾が適用されます。

SET cast_keep_nullable = 1;
SELECT CAST(toNullable(toInt32(0)) AS Int32) as x, toTypeName(x);

結果:

┌─x─┬─toTypeName(CAST(toNullable(toInt32(0)), 'Int32'))─┐
│ 0 │ Nullable(Int32)                                   │
└───┴───────────────────────────────────────────────────┘

参照

cast_string_to_dynamic_use_inference

タイプ: Bool

デフォルト値: 0

文字列から動的への変換中に型の推論を使用します。

check_query_single_value_result

タイプ: Bool

デフォルト値: 1

MergeTree ファミリーエンジンの CHECK TABLE クエリ結果に対する詳細レベルを定義します。

可能な値:

  • 0 — クエリはテーブルの各データパートのチェックステータスを表示します。
  • 1 — クエリは一般的なテーブルチェックステータスを表示します。

check_referential_table_dependencies

タイプ: Bool

デフォルト値: 0

DDL クエリ(例えば DROP TABLE や RENAMEが参照依存関係を壊さないことを確認します。

check_table_dependencies

タイプ: Bool

デフォルト値: 1

DDL クエリ(例えば DROP TABLE や RENAMEが依存関係を壊さないことを確認します。

checksum_on_read

タイプ: Bool

デフォルト値: 1

読み取り時にチェックサムを検証します。これはデフォルトで有効になっており、本番環境では常に有効にしておくべきです。設定を無効にしても利点は期待できません。これは実験やベンチマークにのみ使用される可能性があります。この設定は MergeTree ファミリーのテーブルにのみ適用され、他のテーブルエンジンやネットワーク経由でデータを受信する場合は常にチェックサムが検証されます。

cloud_mode

タイプ: Bool

デフォルト値: 0

クラウドモード。

cloud_mode_database_engine

タイプ: UInt64

デフォルト値: 1

クラウドで許可されるデータベースエンジン。1 - DDL を使用して Replicated データベースに書き換える、2 - DDL を使用して Shared データベースに書き換える。

cloud_mode_engine

タイプ: UInt64

デフォルト値: 1

クラウドで許可されるエンジンファミリー。0 - すべてを許可、1 - DDL を使用して *ReplicatedMergeTree に書き換え、2 - DDL を使用して SharedMergeTree に書き換え。UInt64 により公開部分を最小化します。

cluster_for_parallel_replicas

タイプ: String

デフォルト値:

現在のサーバーが位置するシャードのクラスター。

collect_hash_table_stats_during_aggregation

タイプ: Bool

デフォルト値: 1

メモリ割り当てを最適化するために、ハッシュテーブルの統計を収集することを有効にします。

collect_hash_table_stats_during_joins

タイプ: Bool

デフォルト値: 1

メモリ割り当てを最適化するために、ハッシュテーブルの統計を収集することを有効にします。

compatibility

タイプ: String

デフォルト値:

compatibility 設定は ClickHouse に前のバージョンのデフォルト設定を使用させます。前のバージョンは設定として提供されます。

設定がデフォルト値以外に設定されている場合、それらの設定は尊重されます(修正されていない設定のみが compatibility 設定の影響を受けます)。

この設定は ClickHouse バージョン番号を文字列として受け取ります。例えば、22.322.8 等。空の値はこの設定が無効であることを意味します。

デフォルトでは無効です。

:::note ClickHouse Cloud では、互換性設定は ClickHouse Cloud サポートによって設定されなければなりません。設定を行うには ケースを開いてください。 :::

compatibility_ignore_auto_increment_in_create_table

タイプ: Bool

デフォルト値: 0

true の場合、カラム宣言の AUTO_INCREMENT キーワードを無視します。そうでなければエラーを返します。これは MySQL からの移行を簡素化します。

compatibility_ignore_collation_in_create_table

タイプ: Bool

デフォルト値: 1

テーブル作成時の照合の互換性を無視します。

compile_aggregate_expressions

タイプ: Bool

デフォルト値: 1

集計関数をネイティブコードに JIT コンパイルすることを有効または無効にします。この設定を有効にすると、パフォーマンスが向上する可能性があります。

可能な値:

  • 0 — 集計は JIT コンパイルなしで行われます。
  • 1 — 集計は JIT コンパイルを使用して行われます。

参照

compile_expressions

タイプ: Bool

デフォルト値: 0

いくつかのスカラー関数と演算子をネイティブコードにコンパイルします。LLVM コンパイラインフラストラクチャのバグにより、AArch64 マシンで nullptr 参照解除を引き起こし、その結果、サーバーがクラッシュすることが知られています。この設定は有効にしないでください。

compile_sort_description

タイプ: Bool

デフォルト値: 1

ソート説明をネイティブコードにコンパイルします。

connect_timeout

タイプ: Seconds

デフォルト値: 10

レプリカがない場合の接続タイムアウト。

connect_timeout_with_failover_ms

タイプ: Milliseconds

デフォルト値: 1000

分散テーブルエンジンにおけるリモートサーバー接続のタイムアウト(ミリ秒)。shard および replica セクションがクラスター定義に使用されている場合。 接続に失敗した場合、さまざまなレプリカへの複数の接続試行が行われます。

connect_timeout_with_failover_secure_ms

タイプ: Milliseconds

デフォルト値: 1000

最初の健全なレプリカを選択するための接続タイムアウト(セキュアな接続用)。

connection_pool_max_wait_ms

タイプ: Milliseconds

デフォルト値: 0

接続プールが満杯のときに接続を待つ時間(ミリ秒)。

可能な値:

  • 正の整数。
  • 0 — 無限タイムアウト。

connections_with_failover_max_tries

タイプ: UInt64

デフォルト値: 3

分散テーブルエンジンにおける各レプリカとの接続試行の最大数。

convert_query_to_cnf

タイプ: Bool

デフォルト値: 0

true に設定すると、SELECT クエリが結合標準形CNFに変換されます。CNF にクエリを書き換えることで実行が速くなるシナリオがあります(変更の説明についてはこの Github issue を参照してください)。

以下の SELECT クエリが変更されないことに注意してください(デフォルト動作):

EXPLAIN SYNTAX
SELECT *
FROM
(
    SELECT number AS x
    FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = false;

結果は次のようになります:

┌─explain────────────────────────────────────────────────────────┐
│ SELECT x                                                       │
│ FROM                                                           │
│ (                                                              │
│     SELECT number AS x                                         │
│     FROM numbers(20)                                           │
│     WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15)) │
│ ) AS a                                                         │
│ WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))     │
│ SETTINGS convert_query_to_cnf = 0                              │
└────────────────────────────────────────────────────────────────┘

convert_query_to_cnftrue に設定して、変更を確認しましょう:

EXPLAIN SYNTAX
SELECT *
FROM
(
    SELECT number AS x
    FROM numbers(20)
) AS a
WHERE ((x >= 1) AND (x <= 5)) OR ((x >= 10) AND (x <= 15))
SETTINGS convert_query_to_cnf = true;

WHERE 句が CNF で書き換えられていることに気づきますが、結果セットは同じです。論理は変更されていません:

┌─explain───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ SELECT x                                                                                                              │
│ FROM                                                                                                                  │
│ (                                                                                                                     │
│     SELECT number AS x                                                                                                │
│     FROM numbers(20)                                                                                                  │
│     WHERE ((x <= 15) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x >= 10) OR (x >= 1)) │
│ ) AS a                                                                                                                │
│ WHERE ((x >= 10) OR (x >= 1)) AND ((x >= 10) OR (x <= 5)) AND ((x <= 15) OR (x >= 1)) AND ((x <= 15) OR (x <= 5))     │
│ SETTINGS convert_query_to_cnf = 1                                                                                     │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

可能な値: true, false

count_distinct_implementation

タイプ: String

デフォルト値: uniqExact

CATEGORY(DISTINCT ...) 構文を実行するために使用する uniq* 関数の指定を行います。

可能な値:

count_distinct_optimization

タイプ: Bool

デフォルト値: 0

distinct のカウントを書き換えてグループ化のサブクエリとします。

create_if_not_exists

タイプ: Bool

デフォルト値: 0

CREATE 文でデフォルトで IF NOT EXISTS を有効にします。この設定または IF NOT EXISTS が指定され、提供された名前のテーブルがすでに存在する場合、例外はスローされません。

create_index_ignore_unique

タイプ: Bool

デフォルト値: 0

CREATE UNIQUE INDEX における UNIQUE キーワードを無視します。SQL 互換性のテスト用に作成されました。

create_replicated_merge_tree_fault_injection_probability

タイプ: Float

デフォルト値: 0

メタデータを ZooKeeper に作成した後にテーブルを作成する際の障害挿入の確率。

create_table_empty_primary_key_by_default

タイプ: Bool

デフォルト値: 0

ORDER BY および PRIMARY KEY が指定されない場合に、*MergeTree テーブルを空の主キーで作成することを許可します。

cross_join_min_bytes_to_compress

タイプ: UInt64

デフォルト値: 1073741824

CROSS JOIN で圧縮するためのブロックの最小サイズ。ゼロ値はこのしきい値を無効にします。このブロックは、行またはバイトのいずれかのしきい値に達したときに圧縮されます。

cross_join_min_rows_to_compress

タイプ: UInt64

デフォルト値: 10000000

CROSS JOIN で圧縮するブロックの最小行数。ゼロ値はこのしきい値を無効にします。このブロックは、行またはバイトのいずれかのしきい値に達したときに圧縮されます。

data_type_default_nullable

タイプ: Bool

デフォルト値: 0

カラム定義に明示的な修飾子 NULL または NOT NULL がないデータ型が Nullable であることを許可します。

可能な値:

  • 1 — カラム定義のデータ型がデフォルトで Nullable に設定されます。
  • 0 — カラム定義のデータ型がデフォルトで Nullable ではないように設定されます。

database_atomic_wait_for_drop_and_detach_synchronously

タイプ: Bool

デフォルト値: 0

すべての DROP および DETACH クエリに SYNC 修飾子を追加します。

可能な値:

  • 0 — クエリは遅延して実行されます。
  • 1 — クエリは遅延なしで実行されます。

database_replicated_allow_explicit_uuid

タイプ: UInt64

デフォルト値: 0

0 - 複製データベース内のテーブルに対して UUID を明示的に指定することを許可しません。1 - 許可します。2 - 許可しますが、指定された UUID を無視してランダムなものを生成します。

database_replicated_allow_heavy_create

タイプ: Bool

デフォルト値: 0

複製データベースエンジンでの長時間実行される DDL クエリCREATE AS SELECT および POPULATEを許可します。これは DDL キューを長時間ブロックする可能性があります。

database_replicated_allow_only_replicated_engine

タイプ: Bool

デフォルト値: 0

Replicated エンジンのデータベース内でのみ Replicated テーブルを作成することを許可します。

database_replicated_allow_replicated_engine_arguments

タイプ: UInt64

デフォルト値: 0

0 - 複製データベース内の *MergeTree テーブルに対して ZooKeeper パスとレプリカ名を明示的に指定することを許可しません。1 - 許可します。2 - 許可しますが、指定されたパスを無視してデフォルトのものを使用します。3 - 許可し、警告をログに記録しません。

database_replicated_always_detach_permanently

タイプ: Bool

デフォルト値: 0

データベースエンジンが Replicated の場合、DETACH TABLE を DETACH TABLE PERMANENTLY として実行します。

database_replicated_enforce_synchronous_settings

タイプ: Bool

デフォルト値: 0

一部のクエリに対する同期待機を強制しますデータベースの原子的な削除と切り離し、mutation_sync、alter_sync も参照)。これらの設定を有効にすることは推奨されません。

database_replicated_initial_query_timeout_sec

タイプ: UInt64

デフォルト値: 300

初期 DDL クエリが複製データベースにおいて前の DDL キューエントリを処理するのを待つ時間を秒単位で設定します。

可能な値:

  • 正の整数。
  • 0 — 無限。

decimal_check_overflow

タイプ: Bool

デフォルト値: 1

小数の算術/比較操作のオーバーフローをチェックします。

deduplicate_blocks_in_dependent_materialized_views

タイプ: Bool

デフォルト値: 0

Replicated* テーブルからデータを受け取るマテリアライズドビューに対する重複排除チェックを有効または無効にします。

可能な値:

0 — 無効。 1 — 有効。

使用

デフォルトでは、マテリアライズドビューに対する重複排除は行われませんが、ソーステーブルで行われます。 ソーステーブルで重複排除のために挿入されたブロックがスキップされると、付随的なマテリアライズドビューへの挿入は行われません。この動作は、集約されたデータが異なる INSERT から得られている場合でもマテリアライズドビューに挿入できることを可能にします。 同時に、この挙動は INSERT の冪等性を「破ります」。主テーブルへの INSERT が成功し、マテリアライズドビューへの INSERT が失敗した場合(例: ClickHouse Keeper との通信に失敗)、クライアントはエラーを受け取り操作を再試行できます。しかし、最初の失敗により失われた行を挿入することは、ソーステーブルの重複排除によって棄却されます。設定 deduplicate_blocks_in_dependent_materialized_views は、この動作を変更することを可能にします。再試行時に、マテリアライズドビューは再挿入を受け取り、自身で重複排除チェックを行います。 ソーステーブルのチェック結果を無視し、最初の失敗により失った行を挿入します。

default_materialized_view_sql_security

タイプ: SQLSecurityType

デフォルト値: DEFINER

マテリアライズドビュー作成時に SQL SECURITY オプションのデフォルト値を設定することを許可します。 SQL セキュリティの詳細

デフォルト値は DEFINER です。

default_max_bytes_in_join

タイプ: UInt64

デフォルト値: 1000000000

制限が必要な場合、右側のテーブルの最大サイズ。ただし max_bytes_in_join が設定されていない場合。

default_normal_view_sql_security

タイプ: SQLSecurityType

デフォルト値: INVOKER

通常のビューを作成する際のデフォルト SQL SECURITY オプションを設定することを許可します。 SQL セキュリティの詳細

デフォルト値は INVOKER です。

default_table_engine

タイプ: DefaultTableEngine

デフォルト値: MergeTree

CREATE 文で ENGINE が設定されていない場合のデフォルトテーブルエンジン。

可能な値:

  • 有効なテーブルエンジン名を表す文字列。

クラウドのデフォルト値: SharedMergeTree

クエリ:

SET default_table_engine = 'Log';

SELECT name, value, changed FROM system.settings WHERE name = 'default_table_engine';

結果:

┌─name─────────────────┬─value─┬─changed─┐
│ default_table_engine │ Log   │       1 │
└──────────────────────┴───────┴─────────┘

この例では、エンジンを指定していない新しいテーブルは、Log テーブルエンジンを使用します:

クエリ:

CREATE TABLE my_table (
    x UInt32,
    y UInt32
);

SHOW CREATE TABLE my_table;

結果:

┌─statement────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.my_table
(
    `x` UInt32,
    `y` UInt32
)
ENGINE = Log
└──────────────────────────────────────────────────────────────────────────┘

default_temporary_table_engine

タイプ: DefaultTableEngine

デフォルト値: Memory

一時テーブルのための default_table_engine と同じ。

この例では、エンジンを指定していない新しい一時テーブルは、Log テーブルエンジンを使用します:

クエリ:

SET default_temporary_table_engine = 'Log';

CREATE TEMPORARY TABLE my_table (
    x UInt32,
    y UInt32
);

SHOW CREATE TEMPORARY TABLE my_table;

結果:

┌─statement────────────────────────────────────────────────────────────────┐
│ CREATE TEMPORARY TABLE default.my_table
(
    `x` UInt32,
    `y` UInt32
)
ENGINE = Log
└──────────────────────────────────────────────────────────────────────────┘

default_view_definer

タイプ: String

デフォルト値: CURRENT_USER

ビュー作成時にデフォルト DEFINER オプションを設定することを許可します。 SQL セキュリティの詳細

デフォルト値は CURRENT_USER です。

describe_compact_output

タイプ: Bool

デフォルト値: 0

true の場合、DESCRIBE クエリの結果に列名と型のみを含めます。

describe_extend_object_types

タイプ: Bool

デフォルト値: 0

DESCRIBE クエリでオブジェクト型の列の具体的な型を推測します。

describe_include_subcolumns

タイプ: Bool

デフォルト値: 0

DESCRIBE クエリのためにサブカラムの記述を有効にします。例えば、Tuple のメンバーや、MapNullable または Array データ型のサブカラム。

可能な値:

  • 0 — サブカラムは DESCRIBE クエリに含まれません。
  • 1 — サブカラムは DESCRIBE クエリに含まれます。

DESCRIBE ステートメントの例を参照。

describe_include_virtual_columns

タイプ: Bool

デフォルト値: 0

true の場合、DESCRIBE クエリの結果にテーブルの仮想カラムが含まれます。

dialect

タイプ: Dialect

デフォルト値: clickhouse

クエリを解析する際に使用されるダイアレクト。

dictionary_validate_primary_key_type

タイプ: Bool

デフォルト値: 0

Dictionaryのプライマリキータイプを検証します。デフォルトでは、シンプルなレイアウトの場合、id タイプは暗黙的に UInt64 に変換されます。

distinct_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた場合の動作を指定します。

distributed_aggregation_memory_efficient

タイプ: Bool

デフォルト値: 1

分散集計のメモリ節約モードが有効になっています。

distributed_background_insert_batch

タイプ: Bool

デフォルト値: 0

挿入データのバッチ送信を有効または無効にします。

バッチ送信が有効な場合、Distributed テーブルエンジンは、挿入データの複数のファイルを1つの操作で送信しようとします。バッチ送信はネットワークおよびサーバーリソースの効率を高め、クラスターのパフォーマンスを向上させます。

可能な値:

  • 1 — 有効。
  • 0 — 無効。

distributed_background_insert_max_sleep_time_ms

タイプ: ミリ秒

デフォルト値: 30000

分散テーブルエンジンがデータを送信するための最大間隔です。これは、distributed_background_insert_sleep_time_ms設定で設定された間隔の指数的な成長を制限します。

可能な値:

  • 正の整数のミリ秒。

distributed_background_insert_sleep_time_ms

タイプ: ミリ秒

デフォルト値: 100

分散テーブルエンジンがデータを送信するための基本間隔です。エラーが発生した場合、実際の間隔は指数的に増加します。

可能な値:

  • 正の整数のミリ秒。

distributed_background_insert_split_batch_on_failure

タイプ: ブール

デフォルト値: 0

失敗時にバッチを分割するかどうかを有効または無効にします。

特定のバッチをリモートシャードに送信する際に、Memory limit exceededや類似のエラーによって失敗することがあります。この場合、リトライしても解決しない(このためテーブルの分散送信が停止します)が、そのバッチからのファイルを1つずつ送信してINSERTを成功させることができるかもしれません。

したがって、この設定を1にすると、そのようなバッチについてバッチ処理を無効にします(すなわち、失敗したバッチのために一時的にdistributed_background_insert_batchを無効化します)。

可能な値:

  • 1 — 有効。
  • 0 — 無効。

:::note この設定は、異常なサーバー(マシン)の停止と分散テーブルエンジンのfsync_after_insert / fsync_directoriesがない場合に発生する可能性のある壊れたバッチにも影響します。 :::

:::note 自動バッチ分割に依存しない方が良いでしょう。これはパフォーマンスに悪影響を及ぼす可能性があります。 :::

distributed_background_insert_timeout

タイプ: UInt64

デフォルト値: 0

分散へのINSERTクエリのタイムアウトです。この設定は、insert_distributed_syncが有効な場合にのみ使用されます。ゼロ値はタイムアウトなしを意味します。

distributed_cache_bypass_connection_pool

タイプ: ブール

デフォルト値: 0

ClickHouse Cloudのみ。分散キャッシュ接続プールをバイパスすることを許可します。

distributed_cache_connect_max_tries

タイプ: UInt64

デフォルト値: 100

ClickHouse Cloudのみ。分散キャッシュへの接続が失敗した場合の接続試行回数です。

distributed_cache_data_packet_ack_window

タイプ: UInt64

デフォルト値: 5

ClickHouse Cloudのみ。単一の分散キャッシュ読み取りリクエストにおけるDataPacketシーケンスのACK送信に対するウィンドウサイズです。

distributed_cache_discard_connection_if_unread_data

タイプ: ブール

デフォルト値: 1

ClickHouse Cloudのみ。一部のデータが未読の場合、接続を破棄します。

distributed_cache_fetch_metrics_only_from_current_az

タイプ: ブール

デフォルト値: 1

ClickHouse Cloudのみ。system.distributed_cache_metricsやsystem.distributed_cache_eventsから現在のアベイラビリティゾーンのみからメトリクスを取得します。

distributed_cache_log_mode

タイプ: DistributedCacheLogMode

デフォルト値: on_error

ClickHouse Cloudのみ。system.distributed_cache_logへの書き込みモードです。

distributed_cache_max_unacked_inflight_packets

タイプ: UInt64

デフォルト値: 10

ClickHouse Cloudのみ。単一の分散キャッシュ読み取りリクエストにおける未確認の飛行中パケットの最大数です。

distributed_cache_pool_behaviour_on_limit

タイプ: DistributedCachePoolBehaviourOnLimit

デフォルト値: allocate_bypassing_pool

ClickHouse Cloudのみ。プールの制限に達したときの分散キャッシュ接続の動作を特定します。

distributed_cache_read_alignment

タイプ: UInt64

デフォルト値: 0

ClickHouse Cloudのみ。テスト目的の設定であり、変更しないでください。

distributed_cache_receive_response_wait_milliseconds

タイプ: UInt64

デフォルト値: 60000

ClickHouse Cloudのみ。分散キャッシュからリクエストのデータを受信するための待機時間ミリ秒単位です。

distributed_cache_receive_timeout_milliseconds

タイプ: UInt64

デフォルト値: 10000

ClickHouse Cloudのみ。分散キャッシュからの応答を受信するための待機時間ミリ秒単位です。

distributed_cache_throw_on_error

タイプ: ブール

デフォルト値: 0

ClickHouse Cloudのみ。分散キャッシュとの通信中に発生した例外または分散キャッシュから受信した例外を再スローします。そうでない場合は、エラー時に分散キャッシュのスキップにフォールバックします。

distributed_cache_wait_connection_from_pool_milliseconds

タイプ: UInt64

デフォルト値: 100

ClickHouse Cloudのみ。分散_cache_pool_behaviour_on_limitがwaitの場合に、接続プールから接続を受け取るための待機時間ミリ秒単位です。

distributed_connections_pool_size

タイプ: UInt64

デフォルト値: 1024

分散されたすべてのクエリを単一のDistributedテーブルに対してリモートサーバーとの同時接続の最大数です。クラスタ内のサーバーの数以上の値を設定することをお勧めします。

distributed_ddl_entry_format_version

タイプ: UInt64

デフォルト値: 5

分散DDL (ON CLUSTER)クエリの互換性バージョンです。

distributed_ddl_output_mode

タイプ: DistributedDDLOutputMode

デフォルト値: throw

分散DDLクエリ結果のフォーマットを設定します。

可能な値:

  • throw — クエリが終了したすべてのホストに対してクエリ実行ステータスを持つ結果セットを返します。クエリが一部のホストで失敗した場合、最初の例外を再スローします。すべてのホストでクエリがまだ終了していない場合、distributed_ddl_task_timeoutを超えた場合、TIMEOUT_EXCEEDED例外をスローします。
  • none — throwに似ていますが、分散DDLクエリは結果セットを返しません。
  • null_status_on_timeout — 一部の結果セットの行で実行ステータスとしてNULLを返します。これは、クエリが対応するホストでまだ終了していない場合、TIMEOUT_EXCEEDEDをスローするのではなく返します。
  • never_throwTIMEOUT_EXCEEDEDをスローせず、一部のホストでクエリが失敗した場合も例外を再スローしません。
  • none_only_activenoneに似ていますが、Replicatedデータベースの非アクティブなレプリカを待ちません。注意: このモードでは、クエリが一部のレプリカで実行されないことを特定することはできず、バックグラウンドで実行されます。
  • null_status_on_timeout_only_activenull_status_on_timeoutに似ていますが、Replicatedデータベースの非アクティブなレプリカを待ちません。
  • throw_only_activethrowに似ていますが、Replicatedデータベースの非アクティブなレプリカを待ちません。

クラウドのデフォルト値: none

distributed_ddl_task_timeout

タイプ: Int64

デフォルト値: 180

クラスタ内のすべてのホストからのDDLクエリ応答のタイムアウトを設定します。すべてのホストでDDLリクエストが実行されなかった場合、応答にはタイムアウトエラーが含まれ、リクエストは非同期モードで実行されます。負の値は無限を意味します。

可能な値:

  • 正の整数。
  • 0 — 非同期モード。
  • 負の整数 — 無限タイムアウト。

distributed_foreground_insert

タイプ: ブール

デフォルト値: 0

分散テーブルへの同期データ挿入を有効または無効にします。

デフォルトでは、Distributedテーブルにデータを挿入する際にClickHouseサーバーはバックグラウンドモードでクラスターードにデータを送信します。distributed_foreground_insert=1の場合、データは同期処理され、すべてのデータがすべてのシャードに保存されるまでINSERT操作は成功しません(internal_replicationがtrueの場合、各シャードに少なくとも1つのレプリカが必要です

可能な値:

  • 0 — データはバックグラウンドモードで挿入されます。
  • 1 — データは同期モードで挿入されます。

クラウドのデフォルト値: 1

関連項目

distributed_group_by_no_merge

タイプ: UInt64

デフォルト値: 0

分散クエリ処理のために異なるサーバーからの集計状態をマージしないようにします。異なるシャードに異なるキーがあることが確実な場合に使用できます。

可能な値:

  • 0 — 無効(最終クエリ処理はイニシエータノードで行われます)。
  • 1 - 異なるサーバーからの集計状態をマージせずに分散クエリ処理を行います(クエリはシャード上で完全に処理され、イニシエータはデータをリレーします)。これは、異なるシャードに異なるキーがあることが確実な場合に使用できます。
  • 2 - 1と同じですが、イニシエータの上でORDER BYLIMITを適用します(クエリがリモートノードで完全に処理される場合には不可能です。例: distributed_group_by_no_merge=1)。

SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 1
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
     0 
     0 
└───────┘
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 2
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
     0 
└───────┘

distributed_insert_skip_read_only_replicas

タイプ: ブール

デフォルト値: 0

DistributedへのINSERTクエリ用に読み取り専用レプリカをスキップすることを有効または無効にします。

可能な値:

  • 0 — 通常通りINSERTが行われ、読み取り専用レプリカに送信されると失敗します。
  • 1 — イニシエータはデータをシャードに送信する前に、読み取り専用レプリカをスキップします。

distributed_product_mode

タイプ: DistributedProductMode

デフォルト値: deny

分散サブクエリの動作を変更します。

ClickHouseは、クエリが分散テーブルの非GLOBALサブクエリを含む場合にこの設定を適用します。

制限:

  • INおよびJOINサブクエリにのみ適用されます。
  • FROMセクションが複数のシャードを含む分散テーブルを使用している場合にのみ適用されます。
  • サブクエリが複数のシャードを含む分散テーブルに関係する場合。
  • テーブル値remote関数には使用されません。

可能な値:

  • deny — デフォルト値。これらのタイプのサブクエリの使用を禁止します「Double-distributed in/JOIN subqueries is denied」例外を返します
  • local — サブクエリ内のデータベースとテーブルを宛先サーバー(シャード)のローカルテーブルに置き換えます(通常のIN/JOINを置き換えます)。
  • globalIN/JOINクエリをGLOBAL IN/GLOBAL JOINに置き換えます。
  • allow — これらのタイプのサブクエリの使用を許可します。

distributed_push_down_limit

タイプ: UInt64

デフォルト値: 1

各シャードに別々にLIMITを適用するかどうかを有効または無効にします。

これにより、次のことを回避できます:

  • ネットワーク越しに追加の行を送信すること。
  • イニシエータでリミットの後に行を処理すること。

21.9バージョンから、少なくとも1つの条件が満たされた場合にのみdistributed_push_down_limitがクエリ実行を変更します:

可能な値:

  • 0 — 無効。
  • 1 — 有効。

関連項目:

distributed_replica_error_cap

タイプ: UInt64

デフォルト値: 1000

  • タイプ: 符号なし整数
  • デフォルト値: 1000

各レプリカのエラー数がこの値に制限され、1つのレプリカがあまりにも多くのエラーを蓄積するのを防ぎます。

関連項目:

distributed_replica_error_half_life

タイプ: 秒

デフォルト値: 60

  • タイプ: 秒
  • デフォルト値: 60秒

分散テーブルでのエラーがゼロになる速度を制御します。レプリカがしばらく利用できない場合、5つのエラーを蓄積し、distributed_replica_error_half_lifeが1秒に設定されている場合、最後のエラーの後3秒後にレプリカは正常と見なされます。

関連項目:

distributed_replica_max_ignored_errors

タイプ: UInt64

デフォルト値: 0

  • タイプ: 符号なし整数
  • デフォルト値: 0

レプリカを選択する際に無視されるエラーの数(load_balancingアルゴリズムに従って)。

関連項目:

do_not_merge_across_partitions_select_final

タイプ: ブール

デフォルト値: 0

SELECT FINALで1つのパーティション内のみでパーツをマージします。

empty_result_for_aggregation_by_constant_keys_on_empty_set

タイプ: ブール

デフォルト値: 1

空セットに対して定数キーによる集計時、空の結果を返します。

empty_result_for_aggregation_by_empty_set

タイプ: ブール

デフォルト値: 0

空セットに対してキーなしに集計を行うと、空の結果を返します。

enable_blob_storage_log

タイプ: ブール

デフォルト値: 1

blobストレージ操作に関する情報をsystem.blob_storage_logテーブルに書き込みます。

enable_early_constant_folding

タイプ: ブール

デフォルト値: 1

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

enable_extended_results_for_datetime_functions

タイプ: ブール

デフォルト値: 0

次の型の結果を返すことを有効または無効にします:

可能な値:

  • 0 — 関数はすべての型の引数に対してDateまたはDateTimeを返します。
  • 1 — 関数はDate32またはDateTime64引数に対してDate32またはDateTime64を返し、そうでない場合はDateまたはDateTimeを返します。

enable_filesystem_cache

タイプ: ブール

デフォルト値: 1

リモートファイルシステムのキャッシュを使用します。この設定は、ディスクのキャッシュのON/OFFを切り替えるものではありませんディスク設定で行う必要がありますが、意図した場合に一部のクエリでキャッシュをバイパスできるようにします。

enable_filesystem_cache_log

タイプ: ブール

デフォルト値: 0

各クエリに対するファイルシステムキャッシュのログを記録することを許可します。

enable_filesystem_cache_on_write_operations

タイプ: ブール

デフォルト値: 0

書き込み操作中にキャッシュに書き込む。実際に機能するためには、この設定もディスク設定に追加される必要があります。

enable_filesystem_read_prefetches_log

タイプ: ブール

デフォルト値: 0

クエリ中にsystem.filesystemのprefetch_logにログを記録します。テストまたはデバッグのみに使用することを推奨し、デフォルトでオンにしないことをお勧めします。

enable_global_with_statement

タイプ: ブール

デフォルト値: 1

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

enable_http_compression

タイプ: ブール

デフォルト値: 0

HTTPリクエストに対する応答でのデータ圧縮を有効または無効にします。

詳細については、HTTPインターフェースの説明を参照してください。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

enable_job_stack_trace

タイプ: ブール

デフォルト値: 1

ジョブの作成者によるスタックトレースを出力し、ジョブが例外を引き起こした場合。

enable_lightweight_delete

タイプ: ブール

デフォルト値: 1

MergeTreeテーブルに対して論理削除を有効にします。

enable_memory_bound_merging_of_aggregation_results

タイプ: ブール

デフォルト値: 1

集計のためのメモリバウンドマージ戦略を有効にします。

enable_multiple_prewhere_read_steps

タイプ: ブール

デフォルト値: 1

WHEREからPREWHEREへの条件をより多く移動させ、複数の条件がANDで組み合わされている場合にディスクからの読み取りとフィルタリングを複数のステップで行います。

enable_named_columns_in_function_tuple

タイプ: ブール

デフォルト値: 0

すべての名前がユニークで、引用なし識別子として扱える場合、function tuple()で名前付きタプルを生成します。

enable_optimize_predicate_expression

タイプ: ブール

デフォルト値: 1

SELECTクエリでの述語プッシュダウンをオンにします。

述語プッシュダウンは、分散クエリでのネットワークトラフィックを大幅に削減する可能性があります。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

使用法

次のクエリを考えてみてください:

  1. SELECT count() FROM test_table WHERE date = '2018-10-10'
  2. SELECT count() FROM (SELECT * FROM test_table) WHERE date = '2018-10-10'

enable_optimize_predicate_expression = 1の場合、これらのクエリの実行時間は等しくなります。ClickHouseはサブクエリを処理する際にWHEREを適用します。

enable_optimize_predicate_expression = 0の場合、2番目のクエリの実行時間ははるかに長くなります。なぜなら、サブクエリが終了した後で、WHERE句がすべてのデータに適用されるからです。

enable_optimize_predicate_expression_to_final_subquery

タイプ: ブール

デフォルト値: 1

最終サブクエリに述語のプッシュを許可します。

enable_order_by_all

タイプ: ブール

デフォルト値: 1

ORDER BY ALL構文を使用したソートを有効または無効にします。詳細はORDER BYを参照してください。

可能な値:

  • 0 — ORDER BY ALLを無効にします。
  • 1 — ORDER BY ALLを有効にします。

クエリ:

CREATE TABLE TAB(C1 Int, C2 Int, ALL Int) ENGINE=Memory();

INSERT INTO TAB VALUES (10, 20, 30), (20, 20, 10), (30, 10, 20);

SELECT * FROM TAB ORDER BY ALL; -- ALLが曖昧であるというエラーが返されます。

SELECT * FROM TAB ORDER BY ALL SETTINGS enable_order_by_all = 0;

結果:

┌─C1─┬─C2─┬─ALL─┐
│ 20 │ 20 │  10 │
│ 30 │ 10 │  20 │
│ 10 │ 20 │  30 │
└────┴─────┴───────┘

enable_parsing_to_custom_serialization

タイプ: ブール

デフォルト値: 1

真の場合、データはテーブルから得られたシリアル化のヒントに従ってカスタムシリアル化Sparseを持つ列に直接解析されます。

enable_positional_arguments

タイプ: ブール

デフォルト値: 1

GROUP BYLIMIT BYORDER BYステートメントに対する位置引数をサポートするかどうかを有効または無効にします。

可能な値:

  • 0 — 位置引数はサポートされません。
  • 1 — 位置引数がサポートされます: 列番号を列名の代わりに使用できます。

クエリ:

CREATE TABLE positional_arguments(one Int, two Int, three Int) ENGINE=Memory();

INSERT INTO positional_arguments VALUES (10, 20, 30), (20, 20, 10), (30, 10, 20);

SELECT * FROM positional_arguments ORDER BY 2,3;

結果:

┌─one─┬─two─┬─three─┐
│  30 │  10 │   20  │
│  20 │  20 │   10  │
│  10 │  20 │   30  │
└─────┴─────┴───────┘

enable_reads_from_query_cache

タイプ: ブール

デフォルト値: 1

オンの場合、SELECTクエリの結果はクエリキャッシュから取得されます。

可能な値:

  • 0 - 無効
  • 1 - 有効

enable_s3_requests_logging

タイプ: ブール

デフォルト値: 0

S3リクエストの非常に明示的なログ記録を有効にします。デバッグ専用で意味があります。

enable_scalar_subquery_optimization

タイプ: ブール

デフォルト値: 1

真に設定されている場合、大きなスカラ値のスカラーサブクエリの(非)シリアル化を防止し、同じサブクエリを複数回実行するのを回避できます。

enable_sharing_sets_for_mutations

タイプ: ブール

デフォルト値: 1

INサブクエリのために構築された共有セットオブジェクトを異なるミューテーションのタスク間で共有できます。これにより、メモリ使用量とCPU消費が削減されます。

enable_software_prefetch_in_aggregation

タイプ: ブール

デフォルト値: 1

集計でソフトウェアプリフェッチを使用することを有効にします。

enable_unaligned_array_join

タイプ: ブール

デフォルト値: 0

異なるサイズの複数の配列を使用したARRAY JOINを許可します。この設定が有効な場合、配列は最も長いものにサイズ変更されます。

enable_url_encoding

タイプ: ブール

デフォルト値: 1

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

デフォルトでオンです。

enable_vertical_final

タイプ: ブール

デフォルト値: 1

これを有効にすると、最終的に行をマージするのではなく、削除されたとして行をマークし、後でフィルタリングして重複行を削除します。

enable_writes_to_query_cache

タイプ: ブール

デフォルト値: 1

オンの場合、SELECTクエリの結果はクエリキャッシュに格納されます。

可能な値:

  • 0 - 無効
  • 1 - 有効

enable_zstd_qat_codec

タイプ: ブール

デフォルト値: 0

オンの場合、ZSTD_QATコーデックを使用して列を圧縮できます。

enforce_strict_identifier_format

タイプ: ブール

デフォルト値: 0

有効な場合、英数字とアンダースコアを含む識別子のみを許可します。

engine_file_allow_create_multiple_files

タイプ: ブール

デフォルト値: 0

ファイルエンジンのテーブルで、フォーマットがサフィックス(JSONORCParquetなど)を持つ場合、各挿入時に新しいファイルを作成することを有効または無効にします。有効な場合、各挿入ごとに次のパターンに従った名前の新しいファイルが作成されます:

data.Parquet -> data.1.Parquet -> data.2.Parquet など。

可能な値:

  • 0 — INSERTクエリはファイルの末尾に新しいデータを追加します。
  • 1 — INSERTクエリは新しいファイルを作成します。

engine_file_empty_if_not_exists

タイプ: ブール

デフォルト値: 0

ファイルのないファイルエンジンテーブルからデータを選択することを許可します。

可能な値:

  • 0 — SELECTは例外をスローします。
  • 1 — SELECTは空の結果を返します。

engine_file_skip_empty_files

タイプ: ブール

デフォルト値: 0

Fileエンジンのテーブルで空のファイルをスキップすることを有効または無効にします。

可能な値:

  • 0 — 空のファイルが要求されたフォーマットに適合しない場合、SELECTは例外をスローします。
  • 1 — 空のファイルの場合、SELECTは空の結果を返します。

engine_file_truncate_on_insert

タイプ: ブール

デフォルト値: 0

Fileエンジンのテーブルで、挿入時に切り捨てを有効または無効にします。

可能な値:

  • 0 — INSERTクエリはファイルの末尾に新しいデータを追加します。
  • 1 — INSERTクエリは新しいデータでファイルの既存の内容を置き換えます。

engine_url_skip_empty_files

タイプ: ブール

デフォルト値: 0

URLエンジンのテーブルで空のファイルをスキップすることを有効または無効にします。

可能な値:

  • 0 — 空のファイルが要求されたフォーマットに適合しない場合、SELECTは例外をスローします。
  • 1 — 空のファイルの場合、SELECTは空の結果を返します。

except_default_mode

タイプ: SetOperationMode

デフォルト値: ALL

EXCEPTクエリのデフォルトモードを設定します。可能な値: 空文字列、'ALL'、'DISTINCT'。空の場合、モードなしでクエリが例外をスローします。

external_storage_connect_timeout_sec

タイプ: UInt64

デフォルト値: 10

接続のタイムアウト秒単位。現在はMySQLのみにサポートされています。

external_storage_max_read_bytes

タイプ: UInt64

デフォルト値: 0

外部エンジンを持つテーブルが履歴データをフラッシュする際の最大バイト数を制限します。これは現在、MySQLテーブルエンジン、データベースエンジン、Dictionary、およびMaterializedMySQLにのみサポートされています。0に等しい場合、この設定は無効になります。

external_storage_max_read_rows

タイプ: UInt64

デフォルト値: 0

外部エンジンを持つテーブルが履歴データをフラッシュする際の最大行数を制限します。これは現在、MySQLテーブルエンジン、データベースエンジン、Dictionary、およびMaterializedMySQLにのみサポートされています。0に等しい場合、この設定は無効になります。

external_storage_rw_timeout_sec

タイプ: UInt64

デフォルト値: 300

読み取り/書き込みのタイムアウト秒単位。現在はMySQLのみにサポートされています。

external_table_functions_use_nulls

タイプ: ブール

デフォルト値: 1

mysqlpostgresql、およびodbcテーブル関数がNullableカラムを使用する方法を定義します。

可能な値:

  • 0 — テーブル関数は明示的にNullableカラムを使用します。
  • 1 — テーブル関数は暗黙的にNullableカラムを使用します。

使用法

設定が0に設定されている場合、テーブル関数はNullableカラムを作成せず、NULLの代わりにデフォルト値を挿入します。これは配列内のNULL値にも適用されます。

external_table_strict_query

タイプ: ブール

デフォルト値: 0

真に設定されている場合、外部テーブルへのクエリのローカルフィルターへの変換が禁止されます。

extract_key_value_pairs_max_pairs_per_row

タイプ: UInt64

デフォルト値: 1000

extractKeyValuePairs関数で生成できるペアの最大数です。これは、過剰なメモリ消費を防ぐためのセーフガードとして使用されます。

extremes

タイプ: ブール

デフォルト値: 0

クエリ結果の列の極端な値最小値および最大値をカウントするかどうか。0または1を受け入れます。デフォルトは0無効です。 極端な値に関する詳細は、「極端な値」セクションを参照してください。

fallback_to_stale_replicas_for_distributed_queries

タイプ: ブール

デフォルト値: 1

更新されたデータが利用できない場合、古いレプリカに対してクエリを強制します。レプリケーションを参照してください。

ClickHouseは、テーブルの古いレプリカの中から最も関連性の高いものを選択します。

これは、レプリケーションされたテーブルを指す分散テーブルからのSELECTを実行する際に使用されます。

デフォルトでは1有効です。

filesystem_cache_enable_background_download_during_fetch

タイプ: ブール

デフォルト値: 1 Only in ClickHouse Cloud. ファイルシステムキャッシュにおけるスペース予約のためのキャッシュロック待機時間

filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage

タイプ: Bool

デフォルト値: 1

Only in ClickHouse Cloud. ファイルシステムキャッシュにおけるスペース予約のためのキャッシュロック待機時間

filesystem_cache_max_download_size

タイプ: UInt64

デフォルト値: 137438953472

単一のクエリでダウンロードできる最大リモートファイルシステムキャッシュサイズ

filesystem_cache_name

タイプ: String

デフォルト値:

ステートレステーブルエンジンまたはデータレイクに使用するファイルシステムキャッシュ名

filesystem_cache_reserve_space_wait_lock_timeout_milliseconds

タイプ: UInt64

デフォルト値: 1000

ファイルシステムキャッシュにおけるスペース予約のためのキャッシュロック待機時間

filesystem_cache_segments_batch_size

タイプ: UInt64

デフォルト値: 20

読み取りバッファがキャッシュから要求できる単一バッチのファイルセグメントのサイズ制限。値が低すぎるとキャッシュへのリクエストが過剰になり、高すぎるとキャッシュのエビクションを遅くする可能性がある。

filesystem_prefetch_max_memory_usage

タイプ: UInt64

デフォルト値: 1073741824

プリフェッチの最大メモリ使用量。

filesystem_prefetch_step_bytes

タイプ: UInt64

デフォルト値: 0

バイト単位のプリフェッチステップ。ゼロはautoを意味し、最適なプリフェッチステップは自動的に推測されるが、100%最良とは限らない。実際の値は、filesystem_prefetch_min_bytes_for_single_read_taskの設定によって異なる可能性がある。

filesystem_prefetch_step_marks

タイプ: UInt64

デフォルト値: 0

マーク単位のプリフェッチステップ。ゼロはautoを意味し、最適なプリフェッチステップは自動的に推測されるが、100%最良とは限らない。実際の値は、filesystem_prefetch_min_bytes_for_single_read_taskの設定によって異なる可能性がある。

filesystem_prefetches_limit

タイプ: UInt64

デフォルト値: 200

最大プリフェッチ数。ゼロは無制限を意味する。プリフェッチ数を制限したい場合は、filesystem_prefetches_max_memory_usageの設定を使用することが推奨される。

final

タイプ: Bool

デフォルト値: 0

クエリ内のすべてのテーブルに自動的にFINAL修飾子を適用し、FINALが適用可能なテーブル、結合テーブルおよびサブクエリ内のテーブル、分散テーブルにも適用される。

可能な値:

  • 0 - 無効
  • 1 - 有効

例:

CREATE TABLE test
(
    key Int64,
    some String
)
ENGINE = ReplacingMergeTree
ORDER BY key;

INSERT INTO test FORMAT Values (1, 'first');
INSERT INTO test FORMAT Values (1, 'second');

SELECT * FROM test;
┌─key─┬─some───┐
   1  second 
└─────┴────────┘
┌─key─┬─some──┐
   1  first 
└─────┴───────┘

SELECT * FROM test SETTINGS final = 1;
┌─key─┬─some───┐
   1  second 
└─────┴────────┘

SET final = 1;
SELECT * FROM test;
┌─key─┬─some───┐
   1  second 
└─────┴────────┘

flatten_nested

タイプ: Bool

デフォルト値: 1

ネストカラムのデータ形式を設定します。

可能な値:

  • 1 — ネストされたカラムは別々の配列にフラット化される。
  • 0 — ネストされたカラムはタプルの単一配列のままとなる。

使用法

設定が0に設定されている場合、任意のネストレベルを使用することができます。

クエリ:

SET flatten_nested = 1;
CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();

SHOW CREATE TABLE t_nest;

結果:

┌─statement───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
    `n.a` Array(UInt32),
    `n.b` Array(UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

クエリ:

SET flatten_nested = 0;

CREATE TABLE t_nest (`n` Nested(a UInt32, b UInt32)) ENGINE = MergeTree ORDER BY tuple();

SHOW CREATE TABLE t_nest;

結果:

┌─statement──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ CREATE TABLE default.t_nest
(
    `n` Nested(a UInt32, b UInt32)
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS index_granularity = 8192 │
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

force_aggregate_partitions_independently

タイプ: Bool

デフォルト値: 0

適用可能な場合に最適化の使用を強制しますが、ヒューリスティックの判断により使用されない場合があります。

force_aggregation_in_order

タイプ: Bool

デフォルト値: 0

この設定は、サーバー自身が分散クエリをサポートするために使用します。通常の操作を破るため、手動で変更しないでください。(分散集計中にリモートノードで順序での集計の使用を強制します)。

force_data_skipping_indices

タイプ: String

デフォルト値:

指定されたデータスキッピングインデックスが使用されない場合、クエリの実行を無効にします。

以下の例を考えてみてください。

CREATE TABLE data
(
    key Int,
    d1 Int,
    d1_null Nullable(Int),
    INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
    INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;

SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- クエリは CANNOT_PARSE_TEXT エラーを生成します。
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- クエリは INDEX_NOT_USED エラーを生成します。
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (完全なパーサの例)。
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- d1_null_idx が使用されていないため、クエリは INDEX_NOT_USED エラーを生成します。
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.

force_grouping_standard_compatibility

タイプ: Bool

デフォルト値: 1

GROUPING 関数が引数が集約キーとして使用されていない場合に 1 を返すようにします。

force_index_by_date

タイプ: Bool

デフォルト値: 0

インデックスが日付によって使用できない場合、クエリの実行を無効にします。

MergeTree ファミリーのテーブルで機能します。

force_index_by_date=1の場合、ClickHouse は、クエリにデータ範囲を制限するために使用できる日付キー条件があるかどうかを確認します。適切な条件がない場合、例外がスローされます。ただし、条件が読み取るデータ量を減少させるかどうかは確認しません。たとえば、条件 Date != ' 2000-01-01 ' は、テーブル内のすべてのデータに一致する場合でも受け入れられますつまり、クエリの実行にフルスキャンが必要です。MergeTree テーブル内のデータ範囲の詳細については、MergeTreeを参照してください。

force_optimize_projection

タイプ: Bool

デフォルト値: 0

SELECT クエリ内でプロジェクションの必須使用を有効または無効にします。プロジェクション最適化が有効な場合(optimize_use_projections設定を参照)。

可能な値:

  • 0 — プロジェクション最適化は必須ではありません。
  • 1 — プロジェクション最適化は必須です。

force_optimize_projection_name

タイプ: String

デフォルト値:

非空の文字列に設定されている場合、このプロジェクションがクエリ内で少なくとも一度使用されていることを確認します。

可能な値:

  • 文字列: クエリ内で使用されるプロジェクションの名前

force_optimize_skip_unused_shards

タイプ: UInt64

デフォルト値: 0

optimize_skip_unused_shards が有効で、未使用のシャードをスキップできない場合にクエリの実行を有効または無効にします。スキップが不可能で、設定が有効な場合は、例外がスローされます。

可能な値:

  • 0 — 無効。ClickHouse は例外をスローしません。
  • 1 — 有効。テーブルにシャーディングキーがある場合のみクエリの実行が無効になります。
  • 2 — 有効。テーブルにシャーディングキーが定義されているかどうかにかかわらず、クエリの実行が無効になります。

force_optimize_skip_unused_shards_nesting

タイプ: UInt64

デフォルト値: 0

分散クエリのネストレベルに応じてforce_optimize_skip_unused_shardsを制御します(別のDistributedテーブルが別のDistributedテーブルを参照している場合)。

可能な値:

  • 0 - 無効。force_optimize_skip_unused_shardsは常に機能します。
  • 1 — 最初のレベルのみに対してforce_optimize_skip_unused_shardsを有効にします。
  • 2 — 第二レベルまでforce_optimize_skip_unused_shardsを有効にします。

force_primary_key

タイプ: Bool

デフォルト値: 0

プライマリキーによるインデックス作成が不可能な場合、クエリの実行を無効にします。

MergeTree ファミリーのテーブルで機能します。

force_primary_key=1の場合、ClickHouse は、クエリにデータ範囲を制限するために使用できるプライマリキー条件があるかどうかを確認します。適切な条件がない場合は例外がスローされます。ただし、条件が読み取るデータ量を減少させるかどうかは確認しません。MergeTree テーブル内のデータ範囲に関する詳細については、MergeTreeを参照してください。

force_remove_data_recursively_on_drop

タイプ: Bool

デフォルト値: 0

DROP クエリでデータを再帰的に削除します。'Directory not empty' エラーを回避しますが、デタッチされたデータを静かに削除する可能性があります。

formatdatetime_f_prints_single_zero

タイプ: Bool

デフォルト値: 0

関数 'formatDateTime()' のフォーマッタ '%f' は、フォーマットされた値に小数秒がない場合、六つのゼロの代わりに一つのゼロを印刷します。

formatdatetime_format_without_leading_zeros

タイプ: Bool

デフォルト値: 0

関数 'formatDateTime()' のフォーマッタ '%c', '%l' および '%k' は、月と時間を先頭ゼロなしで印刷します。

formatdatetime_parsedatetime_m_is_month_name

タイプ: Bool

デフォルト値: 1

関数 'formatDateTime()' および 'parseDateTime()' のフォーマッタ '%M' は、分の代わりに月名を印刷/解析します。

fsync_metadata

タイプ: Bool

デフォルト値: 1

.sql ファイルを書き込む際にfSyncを有効または無効にします。デフォルトでは有効です。

サーバーに数百万の小さなテーブルがあり、それらが絶えず作成されて削除される場合は、無効にする意味があります。

function_implementation

タイプ: String

デフォルト値:

特定のターゲットまたはバリアントの関数実装を選択します(エクスペリメンタル)。空の場合はすべて有効になります。

function_json_value_return_type_allow_complex

タイプ: Bool

デフォルト値: 0

json_value 関数に対して複雑なタイプ(構造体、配列、マップなど)の返却を許可するか制御します。

SELECT JSON_VALUE('{"hello":{"world":"!"}}', '$.hello') settings function_json_value_return_type_allow_complex=true

┌─JSON_VALUE('{"hello":{"world":"!"}}', '$.hello')─┐
 {"world":"!"}                                    
└──────────────────────────────────────────────────┘

1 row in set. Elapsed: 0.001 sec.

可能な値:

  • true — 許可。
  • false — 不許可。

function_json_value_return_type_allow_nullable

タイプ: Bool

デフォルト値: 0

JSON_VALUE 関数に対して値が存在しない場合にNULLを返すことを許可するか制御します。

SELECT JSON_VALUE('{"hello":"world"}', '$.b') settings function_json_value_return_type_allow_nullable=true;

┌─JSON_VALUE('{"hello":"world"}', '$.b')─┐
 ᴺᵁᴸᴸ                                   
└────────────────────────────────────────┘

1 row in set. Elapsed: 0.001 sec.

可能な値:

  • true — 許可。
  • false — 不許可。

function_locate_has_mysql_compatible_argument_order

タイプ: Bool

デフォルト値: 1

関数locateの引数の順序を制御します。

可能な値:

  • 0 — 関数 locate は引数 (haystack, needle[, start_pos])を受け入れます。
  • 1 — 関数 locate は引数 (needle, haystack, [, start_pos])MySQL互換の動作を受け入れます。

function_range_max_elements_in_block

タイプ: UInt64

デフォルト値: 500000000

関数rangeによって生成されるデータボリュームの安全閾値を設定します。データブロックごとに関数によって生成される値の最大数(ブロック内のすべての行の配列サイズの合計)を定義します。

可能な値:

  • 正の整数。

参照も参照

function_sleep_max_microseconds_per_block

タイプ: UInt64

デフォルト値: 3000000

関数 sleep が各ブロックごとに許可される最大マイクロ秒数です。ユーザーがそれより大きな値で呼び出した場合、例外がスローされます。これは安全閾値です。

function_visible_width_behavior

タイプ: UInt64

デフォルト値: 1

visibleWidth の動作のバージョン。0 - コードポイントの数だけをカウント; 1 - ゼロ幅および組み合わせ文字を正しくカウントし、全角文字を2つとしてカウントし、タブ幅を見積もり、削除文字をカウントします。

geo_distance_returns_float64_on_float64_arguments

タイプ: Bool

デフォルト値: 1

geoDistancegreatCircleDistancegreatCircleAngle 関数の全ての引数が Float64 の場合、Float64 を返し、内部計算で倍精度を使用します。以前の ClickHouse バージョンでは、これらの関数は常に Float32 を返しました。

glob_expansion_max_elements

タイプ: UInt64

デフォルト値: 1000

許可されている最大アドレス数(外部ストレージ、テーブル関数など)。

grace_hash_join_initial_buckets

タイプ: UInt64

デフォルト値: 1

グレースハッシュ結合の初期バケット数

grace_hash_join_max_buckets

タイプ: UInt64

デフォルト値: 1024

グレースハッシュ結合のバケット数の制限

group_by_overflow_mode

タイプ: OverflowModeGroupBy

デフォルト値: throw

制限が超過された場合に何をするか。

group_by_two_level_threshold

タイプ: UInt64

デフォルト値: 100000

2階層の集計が始まるキーの数から。0 - 閾値が設定されていません。

group_by_two_level_threshold_bytes

タイプ: UInt64

デフォルト値: 50000000

集計状態のサイズがバイト単位で、2階層の集計が使用されるようになる最小サイズ。0 - 閾値が設定されていません。いずれかの閾値がトリガーされたときに2階層の集計が使用されます。

group_by_use_nulls

タイプ: Bool

デフォルト値: 0

GROUP BY句が集約キーのタイプを扱う方法を変更します。 ROLLUPCUBE、または GROUPING SETS 指定子が使用される場合、いくつかの集約キーは特定の結果行を生成するために使用されない可能性があります。 これらのキーの列は、この設定に応じて、デフォルト値または NULL で相応の行に満たされます。

可能な値:

  • 0 — 集約キータイプのデフォルト値が欠落値を生成するために使用されます。
  • 1 — ClickHouse は SQL 標準で述べられている通りに GROUP BY を実行します。集約キーのタイプはNullableに変換されます。該当する集約キーの列は、使用されなかった行のNULLで満たされます。

参照も参照:

handshake_timeout_ms

タイプ: ミリ秒

デフォルト値: 10000

ハンドシェイク中にレプリカから Hello パケットを受信するためのタイムアウト(ミリ秒)。

hdfs_create_new_file_on_insert

タイプ: Bool

デフォルト値: 0

HDFS エンジンテーブルに対する各挿入時に新しいファイルを作成するかどうかを有効または無効にします。有効な場合、各挿入時に次のような名前で新しい HDFS ファイルが作成されます。

初期: data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gz など。

可能な値:

  • 0 — INSERT クエリはファイルの最後に新しいデータを追加します。
  • 1 — INSERT クエリは新しいファイルを作成します。

hdfs_ignore_file_doesnt_exist

タイプ: Bool

デフォルト値: 0

特定のキーを読み取る際にファイルが存在しない場合にその不在を無視します。

可能な値:

  • 1 — SELECT は空の結果を返します。
  • 0 — SELECT は例外をスローします。

hdfs_replication

タイプ: UInt64

デフォルト値: 0

hdfs ファイルが作成される際に指定できる実際のレプリケーション数。

hdfs_skip_empty_files

タイプ: Bool

デフォルト値: 0

HDFS エンジンテーブルで空のファイルをスキップするかどうかを有効または無効にします。

可能な値:

  • 0 — 空のファイルがリクエストされたフォーマットと互換性がない場合、SELECT は例外をスローします。
  • 1 — 空のファイルに対するSELECT は空の結果を返します。

hdfs_throw_on_zero_files_match

タイプ: Bool

デフォルト値: 0

グロブ展開規則に従って一致するゼロファイルがある場合にエラーをスローします。

可能な値:

  • 1 — SELECT は例外をスローします。
  • 0 — SELECT は空の結果を返します。

hdfs_truncate_on_insert

タイプ: Bool

デフォルト値: 0

hdfs エンジンテーブルでの挿入前に切り詰めを有効または無効にします。無効の場合、HDFS にファイルが既に存在する場合に挿入を試みると例外がスローされます。

可能な値:

  • 0 — INSERT クエリはファイルの最後に新しいデータを追加します。
  • 1 — INSERT クエリは既存のファイルの内容を新しいデータで置き換えます。

hedged_connection_timeout_ms

タイプ: ミリ秒

デフォルト値: 50

ヘッジ要求のためにレプリカとの接続を確立する際の接続タイムアウト。

タイプ: UInt64

デフォルト値: 256

ベクトル類似性インデックスを探索する際の動的候補リストのサイズ、別名 'ef_search'。

hsts_max_age

タイプ: UInt64

デフォルト値: 0

HSTS の有効期限。0 は HSTS を無効にします。

http_connection_timeout

タイプ: 秒

デフォルト値: 1

HTTP 接続タイムアウト(秒単位)。

可能な値:

  • 任意の正の整数。
  • 0 - 無効(無限のタイムアウト)。

http_headers_progress_interval_ms

タイプ: UInt64

デフォルト値: 100

指定された間隔ごとに、X-ClickHouse-Progress HTTP ヘッダーをそれ以上送信しない。

http_make_head_request

タイプ: Bool

デフォルト値: 1

http_make_head_request 設定は、HTTP からデータを読み取る際にファイルのサイズなどの情報を取得するために HEAD リクエストを実行できるようにします。有効になっているため、HEAD リクエストをサポートしないサーバーではこの設定を無効にすることが望ましい場合があります。

http_max_field_name_size

タイプ: UInt64

デフォルト値: 131072

HTTP ヘッダー内のフィールド名の最大長

http_max_field_value_size

タイプ: UInt64

デフォルト値: 131072

HTTP ヘッダー内のフィールド値の最大長

http_max_fields

タイプ: UInt64

デフォルト値: 1000000

HTTP ヘッダー内のフィールドの最大数

http_max_multipart_form_data_size

タイプ: UInt64

デフォルト値: 1073741824

multipart/form-data コンテンツのサイズの制限。この設定は URL パラメータから解析することはできず、ユーザープロファイルに設定する必要があります。コンテンツは、クエリの実行が開始される前にメモリ内で解析され、外部テーブルが作成されます。そして、これはその段階に影響を与える唯一の制限です最大メモリ使用量と最大実行時間に関する制限は、HTTP フォームデータの読み取り中には影響がありません)。

http_max_request_param_data_size

タイプ: UInt64

デフォルト値: 10485760

事前定義された HTTP リクエストでクエリパラメータとして使用されるリクエストデータのサイズの制限。

http_max_tries

タイプ: UInt64

デフォルト値: 10

HTTP 経由で読み込む最大試行回数。

http_max_uri_size

タイプ: UInt64

デフォルト値: 1048576

HTTP リクエストの最大 URI 長を設定します。

可能な値:

  • 正の整数。

http_native_compression_disable_checksumming_on_decompress

タイプ: Bool

デフォルト値: 0

クライアントからの HTTP POST データを解凍する際のチェックサム検証を有効または無効にします。 ClickHouse 独自の圧縮フォーマットにのみ使用されます(gzipdeflate には使用されません)。

詳細については、HTTP インターフェースの説明を読んでください。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

http_receive_timeout

タイプ: 秒

デフォルト値: 30

HTTP 受信タイムアウト(秒単位)。

可能な値:

  • 任意の正の整数。
  • 0 - 無効(無限のタイムアウト)。

http_response_buffer_size

タイプ: UInt64

デフォルト値: 0

HTTP レスポンスをクライアントに送信する前にサーバーメモリ内でバッファリングするバイト数http_wait_end_of_queryが有効な場合のディスクへのフラッシュも含む

http_retry_initial_backoff_ms

タイプ: UInt64

デフォルト値: 100

HTTP 経由で読み込む際のバックオフ初期最小マイクロ秒数。

http_retry_max_backoff_ms

タイプ: UInt64

デフォルト値: 10000

HTTP 経由で読み込む際のバックオフ最大マイクロ秒数。

http_send_timeout

タイプ: 秒

デフォルト値: 30

HTTP 送信タイムアウト(秒単位)。

可能な値:

  • 任意の正の整数。
  • 0 - 無効(無限のタイムアウト)。

:::note これはデフォルトプロファイルにのみ適用されます。変更を有効にするには、サーバーの再起動が必要です。 :::

http_skip_not_found_url_for_globs

タイプ: Bool

デフォルト値: 1

HTTP_NOT_FOUND エラーを伴うグローブ用の URL をスキップします。

http_wait_end_of_query

タイプ: Bool

デフォルト値: 0

サーバー側での HTTP レスポンスバッファリングを有効にします。

http_write_exception_in_output_format

タイプ: Bool

デフォルト値: 1

有効な出力を生成するために、出力形式に例外を書き込みます。JSON および XML 形式で動作します。

http_zlib_compression_level

タイプ: Int64

デフォルト値: 3

enable_http_compression = 1 の場合、HTTP リクエストへの応答でデータ圧縮のレベルを設定します。

可能な値: 1 から 9 の数値。

iceberg_engine_ignore_schema_evolution

タイプ: Bool

デフォルト値: 0

Iceberg テーブルエンジンでスキーマの進化を無視し、テーブル作成時に指定されたスキーマまたはメタデータから解析された最新スキーマを使用してすべてのデータを読み取ることを許可します。

:::note この設定を有効にすると、進化したスキーマのすべてのデータファイルが同じスキーマを使用して読み込まれるため、誤った結果につながる場合があります。 :::

idle_connection_timeout

タイプ: UInt64

デフォルト値: 3600

指定された秒数後にアイドル TCP 接続を閉じるタイムアウト。

可能な値:

  • 正の整数0 - すぐに閉じる、0秒後

ignore_cold_parts_seconds

タイプ: Int64

デフォルト値: 0

Only in ClickHouse Cloud. プリウォームされるまでsee cache_populated_by_fetchまたはこの秒数古くなるまで、SELECT クエリから新しいデータパーツを除外します。Replicated-/SharedMergeTree のみ。

ignore_data_skipping_indices

タイプ: String

デフォルト値:

クエリで使用されている場合に指定されたスキッピングインデックスを無視します。

以下の例を考えてみてください。

CREATE TABLE data
(
    key Int,
    x Int,
    y Int,
    INDEX x_idx x TYPE minmax GRANULARITY 1,
    INDEX y_idx y TYPE minmax GRANULARITY 1,
    INDEX xy_idx (x,y) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;

INSERT INTO data VALUES (1, 2, 3);

SELECT * FROM data;
SELECT * FROM data SETTINGS ignore_data_skipping_indices=''; -- クエリは CANNOT_PARSE_TEXT エラーを生成します。
SELECT * FROM data SETTINGS ignore_data_skipping_indices='x_idx'; -- Ok.
SELECT * FROM data SETTINGS ignore_data_skipping_indices='na_idx'; -- Ok。

SELECT * FROM data WHERE x = 1 AND y = 1 SETTINGS ignore_data_skipping_indices='xy_idx',force_data_skipping_indices='xy_idx' ; -- クエリは INDEX_NOT_USED エラーを生成します。なぜなら xy_idx が明示的に無視されているからです。
SELECT * FROM data WHERE x = 1 AND y = 2 SETTINGS ignore_data_skipping_indices='xy_idx';

無視せずにインデックスを使用していないクエリ:

EXPLAIN indexes = 1 SELECT * FROM data WHERE x = 1 AND y = 2;

Expression ((Projection + Before ORDER BY))
  Filter (WHERE)
    ReadFromMergeTree (default.data)
    Indexes:
      PrimaryKey
        Condition: true
        Parts: 1/1
        Granules: 1/1
      Skip
        Name: x_idx
        Description: minmax GRANULARITY 1
        Parts: 0/1
        Granules: 0/1
      Skip
        Name: y_idx
        Description: minmax GRANULARITY 1
        Parts: 0/0
        Granules: 0/0
      Skip
        Name: xy_idx
        Description: minmax GRANULARITY 1
        Parts: 0/0
        Granules: 0/0

xy_idx インデックスを無視:

EXPLAIN indexes = 1 SELECT * FROM data WHERE x = 1 AND y = 2 SETTINGS ignore_data_skipping_indices='xy_idx';

Expression ((Projection + Before ORDER BY))
  Filter (WHERE)
    ReadFromMergeTree (default.data)
    Indexes:
      PrimaryKey
        Condition: true
        Parts: 1/1
        Granules: 1/1
      Skip
        Name: x_idx
        Description: minmax GRANULARITY 1
        Parts: 0/1
        Granules: 0/1
      Skip
        Name: y_idx
        Description: minmax GRANULARITY 1
        Parts: 0/0
        Granules: 0/0

MergeTree ファミリーのテーブルで機能します。

ignore_drop_queries_probability

タイプ: Float

デフォルト値: 0

有効な場合、サーバーは指定された確率ですべての DROP テーブルクエリを無視しますMemory および JOIN エンジンの場合、DROP を TRUNCATE に置き換えます)。テスト目的で使用されます。

ignore_materialized_views_with_dropped_target_table

タイプ: Bool

デフォルト値: 0

ビューへのプッシュ中にターゲットテーブルが削除された状態のMVを無視します。

ignore_on_cluster_for_replicated_access_entities_queries

タイプ: Bool

デフォルト値: 0

レプリケートアクセスエンティティ管理クエリのための ON CLUSTER 句を無視します。

ignore_on_cluster_for_replicated_named_collections_queries

タイプ: Bool

デフォルト値: 0

レプリケートされた名前付きコレクション管理クエリのための ON CLUSTER 句を無視します。

ignore_on_cluster_for_replicated_udf_queries

タイプ: Bool

デフォルト値: 0

レプリケーションされた UDF 管理クエリのための ON CLUSTER 句を無視します。

implicit_select

タイプ: Bool

デフォルト値: 0

先頭の SELECT キーワードなしに単純な SELECT クエリを書くことを許可し、それにより電卓スタイルの使用が簡単になります。例: 1 + 2 が有効なクエリになります。

clickhouse-local ではデフォルトで有効であり、明示的に無効にすることができます。

implicit_transaction

タイプ: Bool

デフォルト値: 0

有効にされていて、すでにトランザクション内でない場合、クエリ全体をトランザクション内にラップします(開始 + コミットまたはロールバック)。

input_format_parallel_parsing

タイプ: Bool

デフォルト値: 1

データフォーマットの順序を保持する並列解析を有効または無効にします。サポートされているのは TSVTSKVCSV、および JSONEachRow 形式だけです。

可能な値:

  • 1 — 有効。
  • 0 — 無効。

insert_allow_materialized_columns

タイプ: Bool

デフォルト値: 0

設定が有効な場合、INSERT にマテリアライズドカラムを許可します。

insert_deduplicate

タイプ: Bool

デフォルト値: 1

INSERT のブロック重複Replicated* テーブル用)を有効または無効にします。

可能な値:

insert_deduplication_token

タイプ: 文字列

デフォルト値:

この設定により、ユーザーはMergeTree/ReplicatedMergeTreeにおける独自の重複排除セマンティクスを提供できます。たとえば、各INSERTステートメントで設定のユニークな値を提供することにより、ユーザーは同じデータが重複排除されるのを回避できます。

可能な値:

  • 任意の文字列

insert_deduplication_tokenは空でない場合にのみ重複排除に使用されます。

レプリケートされたテーブルでは、デフォルトで各パーティションの最近の挿入のうち100のみが重複排除されますreplicated_deduplication_windowreplicated_deduplication_window_secondsを参照してください)。レプリケートされていないテーブルについては、non_replicated_deduplication_windowを参照してください。

:::note insert_deduplication_tokenはパーティションレベルで機能します(insert_deduplicationチェックサムと同様)。複数のパーティションは同じinsert_deduplication_tokenを持つことができます。 :::

例:

CREATE TABLE test_table
( A Int64 )
ENGINE = MergeTree
ORDER BY A
SETTINGS non_replicated_deduplication_window = 100;

INSERT INTO test_table SETTINGS insert_deduplication_token = 'test' VALUES (1);

-- 次の挿入は、insert_deduplication_tokenが異なるため、重複排除されません
INSERT INTO test_table SETTINGS insert_deduplication_token = 'test1' VALUES (1);

-- 次の挿入は、insert_deduplication_tokenが以前のものの1つと同じであるため、重複排除されます
INSERT INTO test_table SETTINGS insert_deduplication_token = 'test' VALUES (2);

SELECT * FROM test_table

┌─A─┐
 1 
└───┘
┌─A─┐
 1 
└───┘

insert_keeper_fault_injection_probability

タイプ: Float

デフォルト値: 0

挿入中のkeeperリクエストの失敗確率の概算。有效な値は[0.0f, 1.0f]の範囲です。

insert_keeper_fault_injection_seed

タイプ: UInt64

デフォルト値: 0

0 - ランダムシード、それ以外は設定値。

insert_keeper_max_retries

タイプ: UInt64

デフォルト値: 20

この設定は、レプリケートされたMergeTreeへの挿入中にClickHouse KeeperまたはZooKeeperリクエストの最大再試行回数を設定します。ネットワークエラー、Keeperセッションタイムアウト、またはリクエストタイムアウトによって失敗したKeeperリクエストのみが再試行の対象とされます。

可能な値:

  • 正の整数。
  • 0 — 再試行は無効

クラウドのデフォルト値: 20

Keeperリクエストの再試行は、あるタイムアウトの後に行われます。タイムアウトは次の設定によって制御されます: insert_keeper_retry_initial_backoff_ms, insert_keeper_retry_max_backoff_ms。最初の再試行はinsert_keeper_retry_initial_backoff_msのタイムアウト後に行われます。その後のタイムアウトは次のように計算されます:

timeout = min(insert_keeper_retry_max_backoff_ms, latest_timeout * 2)

例えば、insert_keeper_retry_initial_backoff_ms=100insert_keeper_retry_max_backoff_ms=10000、およびinsert_keeper_max_retries=8の場合、タイムアウトは100, 200, 400, 800, 1600, 3200, 6400, 10000になります。

障害耐性の他に、再試行はより良いユーザーエクスペリエンスを提供する目的もあります - 例えば、Keeperが再起動中アップグレードによるにINSERT実行中にエラーを返さずに済むようにします。

insert_keeper_retry_initial_backoff_ms

タイプ: UInt64

デフォルト値: 100

INSERTクエリ実行中に失敗したKeeperリクエストを再試行するための初期タイムアウトミリ秒

可能な値:

  • 正の整数。
  • 0 — タイムアウトなし。

insert_keeper_retry_max_backoff_ms

タイプ: UInt64

デフォルト値: 10000

INSERTクエリ実行中に失敗したKeeperリクエストを再試行するための最大タイムアウトミリ秒

可能な値:

  • 正の整数。
  • 0 — 最大タイムアウトは無制限。

insert_null_as_default

タイプ: Bool

デフォルト値: 1

NULLの代わりに、デフォルト値を挿入するかどうかを有効または無効にします。NULLでないデータ型のカラムに対しては、カラムタイプがNULLでない場合、この設定が無効のときにNULLを挿入すると例外が発生します。カラムタイプがNULL可能な場合、NULL値はこの設定に関係なくそのまま挿入されます。

この設定はINSERT ... SELECTクエリに適用されます。SELECTサブクエリはUNION ALL句で連結可能であることに注意してください。

可能な値:

  • 0 — NULLをNULLでないカラムに挿入すると例外が発生します。
  • 1 — NULLの代わりにデフォルトカラム値が挿入されます。

insert_quorum

タイプ: UInt64Auto

デフォルト値: 0

:::note この設定はSharedMergeTreeには適用されません。詳しくはSharedMergeTreeの整合性を参照してください。 :::

クォーラム書き込みを有効にします。

  • insert_quorum < 2の場合、クォーラム書き込みは無効です。
  • insert_quorum >= 2の場合、クォーラム書き込みは有効です。
  • insert_quorum = 'auto'の場合、過半数の数(number_of_replicas / 2 + 1)をクォーラム数として使用します。

クォーラム書き込み

INSERTは、ClickHouseがinsert_quorum_timeoutの間にinsert_quorumのレプリカにデータを書き込むことに成功した場合にのみ成功します。何らかの理由で成功した書き込みのレプリカ数がinsert_quorumに達しない場合、書き込みは失敗と見なされ、ClickHouseはすでに書き込まれたレプリカから挿入されたブロックを削除します。

insert_quorum_parallelが無効の場合、クォーラム内のすべてのレプリカは一貫性があります。つまり、すべての以前のINSERTクエリのデータを含んでいます(INSERTシーケンスは線形化されます)。insert_quorumおよびinsert_quorum_parallelを使用して書き込まれたデータを読み取る際には、select_sequential_consistencyを使用してSELECTクエリの順次整合性を有効にすることができます。

ClickHouseは次の場合に例外を生成します:

  • クエリの時点での利用可能なレプリカの数がinsert_quorum未満の場合。
  • insert_quorum_parallelが無効であり、前のブロックがinsert_quorumのレプリカにまだ挿入されていないときにデータを書き込もうとした場合。この状況は、ユーザーが以前のinsert_quorumINSERTクエリが完了する前に同じテーブルに別のINSERTクエリを実行しようとした場合に発生することがあります。

その他の情報は以下を参照してください:

insert_quorum_parallel

タイプ: Bool

デフォルト値: 1

:::note この設定はSharedMergeTreeには適用されません。詳しくはSharedMergeTreeの整合性を参照してください。 :::

クォーラムINSERTクエリに対して並列性を有効または無効にします。これが有効な場合、前のクエリがまだ終了していない間に追加のINSERTクエリを送信できます。無効にした場合、同じテーブルに対する追加の書き込みは拒否されます。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

その他の情報は以下を参照してください:

insert_quorum_timeout

タイプ: ミリ秒

デフォルト値: 600000

クォーラムへの書き込みタイムアウトミリ秒。タイムアウトが経過し、まだ書き込みが行われていない場合、ClickHouseは例外を生成し、クライアントは同じブロックを同じまたは他のレプリカに書き込むためにクエリを再試行する必要があります。

その他の情報は以下を参照してください:

insert_shard_id

タイプ: UInt64

デフォルト値: 0

0でない場合、データが同期的に挿入される分散テーブルのシャードを指定します。

insert_shard_idの値が無効な場合、サーバーは例外を投げます。

requested_clusterのシャード数を取得するには、サーバーの設定を確認するか、次のクエリを使用できます:

SELECT uniq(shard_num) FROM system.clusters WHERE cluster = 'requested_cluster';

可能な値:

クエリ:

CREATE TABLE x AS system.numbers ENGINE = MergeTree ORDER BY number;
CREATE TABLE x_dist AS x ENGINE = Distributed('test_cluster_two_shards_localhost', currentDatabase(), x);
INSERT INTO x_dist SELECT * FROM numbers(5) SETTINGS insert_shard_id = 1;
SELECT * FROM x_dist ORDER BY number ASC;

結果:

┌─number─┐
│      0 │
│      0 │
│      1 │
│      1 │
│      2 │
│      2 │
│      3 │
│      3 │
│      4 │
│      4 │
└────────┘

interactive_delay

タイプ: UInt64

デフォルト値: 100000

リクエストの実行がキャンセルされたかどうかをチェックし、進捗を送信するためのマイクロ秒単位の間隔。

intersect_default_mode

タイプ: SetOperationMode

デフォルト値: ALL

INTERSECTクエリのデフォルトモードを設定します。可能な値: 空の文字列、'ALL'、'DISTINCT'。空の場合、モードなしでのクエリは例外をスローします。

join_algorithm

タイプ: JoinAlgorithm

デフォルト値: default

使用されるJOINアルゴリズムを指定します。

複数のアルゴリズムを指定でき、適切なものが特定のクエリの種類/厳密性およびテーブルエンジンに基づいて選択されます。

可能な値:

  • default

これは、可能であればhashまたはdirectの同等です(direct,hashと同じ)。

  • grace_hash

    Grace hash joinが使用されます。Grace hashは、メモリの使用を制限しながらパフォーマンスの良い複雑な結合を提供するアルゴリズムオプションを提供します。

    grace joinの最初のフェーズでは、右側のテーブルを読み取り、それをキー列のハッシュ値に基づいてNバケットに分割します最初はNはgrace_hash_join_initial_bucketsです)。各バケットが独立して処理できることを保証する方法でこれが行われます。最初のバケットの行はメモリ内ハッシュテーブルに追加され、他の行はディスクに保存されます。ハッシュテーブルがメモリ制限を超えた場合(例: max_bytes_in_joinで設定されたもの)、バケットの数が増加し、各行の割り当てバケットも増えます。現在のバケットに属さない行はフラッシュされ、再割り当てされます。

    INNER/LEFT/RIGHT/FULL ALL/ANY JOINをサポートします。

  • hash

    Hash join algorithmが使用されます。すべての種類および厳密性の組み合わせと、JOIN ONセクションでORで結合された複数の結合キーをサポートする最も一般的な実装です。

  • parallel_hash

    hashの変種で、データをバケットに分割し、プロセスを加速するために同時に複数のハッシュテーブルを構築します。

    hashアルゴリズムを使用する際、右側のJOINの部分がRAMにアップロードされます。

  • partial_merge

    sort-merge algorithmの変種で、右側のテーブルのみが完全にソートされています。

    RIGHT JOINおよびFULL JOINは、厳密さのすべてがALLである場合にのみサポートされます(SEMIANTIANY、およびASOFはサポートされていません)。

    partial_mergeアルゴリズムを使用する際、ClickHouseはデータをソートし、ディスクにダンプします。ClickHouseのpartial_mergeアルゴリズムは、古典的な実現とは少し異なります。最初に、ClickHouseは結合キーでブロックごとに右のテーブルをソートし、ソートされたブロックに対して最小-最大インデックスを作成します。次に、左側のテーブルの部分をjoin keyでソートし、それを右のテーブルに対して結合します。最小-最大インデックスも必要ない右テーブルのブロックをスキップするために使用されます。

  • direct

    このアルゴリズムは、右のテーブルがキー-バリューリクエストをサポートするストレージのために適用できます。

    directアルゴリズムは、左のテーブルの行をキーとして使用して右のテーブルでルックアップを行います。これは、DictionaryEmbeddedRocksDBなどの特別なストレージによってのみサポートされており、LEFT及びINNERJOINだけがサポートされています。

  • auto

    autoに設定されている場合、最初にhash結合が試みられ、メモリ制限が違反された場合は、動的に他のアルゴリズムに切り替えられます。

  • full_sorting_merge

    Sort-merge algorithmを完全にソートされた結合テーブルを結合する前に使用します。

  • prefer_partial_merge

    ClickHouseは可能であれば常にpartial_merge結合を使用しようとし、そうでなければhashを使用します。非推奨partial_merge,hashと同じです。

join_any_take_last_row

タイプ: Bool

デフォルト値: 0

ANYの厳密さを使用した結合操作の動作を変更します。

:::note この設定は、JoinエンジンのテーブルのみのJOIN操作に適用されます。 :::

可能な値:

  • 0 — 右のテーブルに一致する行が複数ある場合、最初に見つかった行のみが結合されます。
  • 1 — 右のテーブルに一致する行が複数ある場合、最後に見つかった行のみが結合されます。

その他の情報は以下を参照してください:

join_default_strictness

タイプ: JoinStrictness

デフォルト値: ALL

JOIN句のデフォルトの厳密さを設定します。

可能な値:

  • ALL — 右のテーブルに一致する行が複数ある場合、ClickHouseは一致する行からデカルト積を生成します。これが標準SQLからの通常のJOINの動作です。
  • ANY — 右のテーブルに一致する行が複数ある場合、最初に見つかった行のみが結合されます。右のテーブルに一致する行が1つしかない場合、ANYALLの結果は同じです。
  • ASOF — 不確実な一致を持つシーケンスの結合に使用されます。
  • 空の文字列 — クエリにALLまたはANYが指定されていない場合、ClickHouseは例外をスローします。

join_on_disk_max_files_to_merge

タイプ: UInt64

デフォルト値: 64

ディスク上で実行されるMergeJoin操作の並列ソートのために許可されるファイルの数を制限します。

設定値が大きいほど、使用されるRAMが多く、ディスクI/Oが少なくなります。

可能な値:

  • 2から始まる正の整数。

join_output_by_rowlist_perkey_rows_threshold

タイプ: UInt64

デフォルト値: 5

ハッシュ結合において、行リストで出力するかどうかを決定するための右のテーブルのキーごとの平均行数の下限。

join_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた場合に何をするかを指定します。

join_to_sort_maximum_table_rows

タイプ: UInt64

デフォルト値: 10000

左または内部結合において、右のテーブルをキーによって再整理するかどうかを決定するための右のテーブルの最大行数。

join_to_sort_minimum_perkey_rows

タイプ: UInt64

デフォルト値: 40

左または内部結合において、右のテーブルをキーによって再整理するかどうかを決定するための右のテーブルのキーごとの平均行数の下限。この設定は、スパーステーブルキーに対して最適化が適用されないようにします。

join_use_nulls

タイプ: Bool

デフォルト値: 0

JOINの動作タイプを設定します。テーブルをマージする際に空のセルが出現することがあります。ClickHouseは、この設定に基づいてそれらを異なる方法で埋めます。

可能な値:

  • 0 — 空のセルは対応するフィールドタイプのデフォルト値で埋まります。
  • 1 — JOINは標準SQLと同様の動作をします。対応するフィールドの型はNullableに変換され、空のセルはNULLで埋まります。

joined_subquery_requires_alias

タイプ: Bool

デフォルト値: 1

正しい名前の資格のために、結合サブクエリとテーブル関数に別名を付けることを強制します。

kafka_disable_num_consumers_limit

タイプ: Bool

デフォルト値: 0

利用可能なCPUコアの数に依存するkafka_num_consumersの制限を無効にします。

kafka_max_wait_ms

タイプ: ミリ秒

デフォルト値: 5000

再試行前にKafkaからメッセージを読み取るための待機時間(ミリ秒)。

可能な値:

  • 正の整数。
  • 0 — 無限のタイムアウト。

その他の情報は以下を参照してください:

keeper_map_strict_mode

タイプ: Bool

デフォルト値: 0

KeeperMapに対する操作中に追加のチェックを強制します。例えば、既存のキーに対する挿入に対して例外をスローします。

keeper_max_retries

タイプ: UInt64

デフォルト値: 10

一般的なkeeper操作の最大再試行回数。

keeper_retry_initial_backoff_ms

タイプ: UInt64

デフォルト値: 100

一般的なkeeper操作のための初期のバックオフタイムアウト。

keeper_retry_max_backoff_ms

タイプ: UInt64

デフォルト値: 5000

一般的なkeeper操作のための最大バックオフタイムアウト。

legacy_column_name_of_tuple_literal

タイプ: Bool

デフォルト値: 0

大きなタプルリテラルの要素のすべての名前をハッシュの代わりにそのカラム名でリストします。この設定は互換性の理由のみで存在します。これを'true'に設定することは、21.7よりも低いバージョンからより高いバージョンへのクラスターのローリングアップデートを行う際に意味があります。

lightweight_deletes_sync

タイプ: UInt64

デフォルト値: 2

これはmutations_syncと同じですが、論理削除の実行のみを制御します。

可能な値:

  • 0 - 削除は非同期に実行されます。
  • 1 - クエリは現在のサーバーで論理削除が完了するのを待機します。
  • 2 - クエリはすべてのレプリカ(存在する場合)で論理削除が完了するのを待機します。

その他の情報

limit

タイプ: UInt64

デフォルト値: 0

クエリ結果から取得する最大行数を設定します。これは、LIMIT句で設定された値を調整し、クエリに指定された制限がこの設定で設定された制限を超えることがないようにします。

可能な値:

  • 0 — 行数に制限はありません。
  • 正の整数。

live_view_heartbeat_interval

タイプ: 秒

デフォルト値: 15

ライブクエリが生きていることを示すハートビート間隔(秒)。

load_balancing

タイプ: LoadBalancing

デフォルト値: random

分散クエリ処理に使用されるレプリカ選択のアルゴリズムを指定します。

ClickHouseは、次のようなレプリカの選択アルゴリズムをサポートしています:

その他の情報は以下を参照してください:

Random (デフォルト)

load_balancing = random

各レプリカのエラーの数がカウントされます。クエリは、最も少ないエラーを持つレプリカに送信され、同じエラー数のレプリカが複数ある場合は、そのうちのどれかに送信されます。 欠点: サーバーの近接性は考慮されず、レプリカが異なるデータを持っている場合、異なるデータが返される可能性があります。

Nearest Hostname

load_balancing = nearest_hostname

各レプリカのエラーの数がカウントされます。5分ごとに、エラーの数は2で統合的に割り算されます。これにより、最近の時間に基づいてエラーの数が指数的にスムージングされて計算されます。エラー数が最も少ないレプリカが1つある場合すなわち、他のレプリカでは最近エラーが発生している、クエリはそのレプリカに送信されます。同じ最小エラー数のレプリカが複数ある場合は、設定ファイルのサーバーのホスト名に最も類似したホスト名のレプリカにクエリが送信されます同じ位置に異なる文字数による

たとえば、example01-01-1とexample01-01-2は1箇所で異なり、example01-01-1とexample01-02-2は2箇所で異なります。 この方法は単純に見えるかもしれませんが、ネットワークトポロジーに関する外部データを必要とせず、IPアドレスを比較することも難しいIPv6アドレスに対しても対処します。

したがって、等価なレプリカが存在する場合、名前によって最も近いものが優先されます。 さらに、同じサーバーにクエリを送信する場合、障害がない場合、分散クエリも同じサーバーに送信されると考えられます。そのため、レプリカに異なるデータが格納されていても、クエリはほとんど同じ結果を返します。

Hostname levenshtein distance

load_balancing = hostname_levenshtein_distance

nearest_hostnameと同様ですが、ホスト名をlevenshtein distanceの方式で比較します。例えば:

example-clickhouse-0-0 ample-clickhouse-0-0
1

example-clickhouse-0-0 example-clickhouse-1-10
2

example-clickhouse-0-0 example-clickhouse-12-0
3

In Order

load_balancing = in_order

同じエラー数のレプリカには、設定ファイルに記載された順序のままアクセスされます。 この方法は、どのレプリカが優先されるかが明確にわかっているときに適切です。

First or Random

load_balancing = first_or_random

このアルゴリズムは、設定された最初のレプリカを選択します。最初のレプリカが利用できない場合はランダムなレプリカを選択します。これは、クロスレプリケーショントポロジーのセットアップで効果的ですが、他の構成では役に立ちません。

first_or_randomアルゴリズムは、in_orderアルゴリズムの問題を解決します。in_orderの場合、あるレプリカがダウンすると次のレプリカに二重負荷がかかり、残りのレプリカは通常のトラフィックの量を処理します。first_or_randomアルゴリズムを使用する場合、まだ利用可能なレプリカの間で負荷が均等に分散されます。

first_or_randomアルゴリズムを使用して、最初のレプリカを明示的に定義することもできます。この設定を使用すると、レプリカ間でクエリのワークロードを再バランスするより多くの制御が可能になります。

Round Robin

load_balancing = round_robin

このアルゴリズムは、同じエラー数のレプリカに対してラウンドロビンポリシーを使用します(round_robinポリシーのクエリのみがカウントされます)。

load_balancing_first_offset

タイプ: UInt64

デフォルト値: 0

FIRST_OR_RANDOMロードバランシング戦略が使用されているときに、優先的にクエリを送信するレプリカを指定します。

load_marks_asynchronously

タイプ: Bool

デフォルト値: 0

MergeTreeマークを非同期にロードします。

local_filesystem_read_method

タイプ: 文字列

デフォルト値: pread_threadpool

ローカルファイルシステムからデータを読み取るためのメソッド。選択肢: read, pread, mmap, io_uring, pread_threadpool。'io_uring'メソッドはエクスペリメンタルで、Log、TinyLog、StripeLog、File、Set、および同時読み書きがある場合は他のテーブルでは機能しません。

local_filesystem_read_prefetch

タイプ: Bool

デフォルト値: 0

ローカルファイルシステムからデータを読み取る際にプリフェッチを使用するかどうか。

lock_acquire_timeout

タイプ: 秒

デフォルト値: 120

ロックリクエストが失敗するまでに待機する秒数を定義します。

ロックタイムアウトは、テーブルでの読み取り/書き込み操作を実行中にデッドロックから保護するために使用されます。タイムアウトが経過するとロックリクエストが失敗し、ClickHouseサーバーは「ロック試行がタイムアウトしましたデッドロックの回避が可能です。クライアントは再試行する必要があります。」という例外を投げます。エラーコードはDEADLOCK_AVOIDEDです。

可能な値:

  • 正の整数(秒単位)。
  • 0 — ロックタイムアウトなし。

log_comment

タイプ: 文字列

デフォルト値:

system.query_logテーブルのlog_commentフィールドの値と、サーバーログのコメントテキストを指定します。

これにより、サーバーログの可読性を向上させることができます。さらに、clickhouse-testを実行した後に、テストに関連するクエリをsystem.query_logから選択するのにも役立ちます。

可能な値:

  • max_query_sizeを超えない任意の文字列。max_query_sizeを超えると、サーバーは例外をスローします。

クエリ:

SET log_comment = 'log_comment test', log_queries = 1;
SELECT 1;
SYSTEM FLUSH LOGS;
SELECT type, query FROM system.query_log WHERE log_comment = 'log_comment test' AND event_date >= yesterday() ORDER BY event_time DESC LIMIT 2;

結果:

┌─type────────┬─query─────┐
│ QueryStart  │ SELECT 1; │
│ QueryFinish │ SELECT 1; │
└─────────────┴───────────┘

log_formatted_queries

タイプ: Bool

デフォルト値: 0

system.query_logシステムテーブルにフォーマットされたクエリをログすることを許可します(system.query_logformatted_query列にデータを埋め込みます)。

可能な値:

  • 0 — フォーマットされたクエリはシステムテーブルにログされません。
  • 1 — フォーマットされたクエリはシステムテーブルにログされます。

log_processors_profiles

タイプ: Bool

デフォルト値: 1

実行中にプロセッサが費やした時間をsystem.processors_profile_logテーブルに書き込みます。

その他の情報は以下を参照してください:

log_profile_events

タイプ: Bool

デフォルト値: 1

クエリパフォーマンス統計をquery_logquery_thread_log、およびquery_views_logにログします。

log_queries

タイプ: Bool

デフォルト値: 1

クエリログを設定します。

この設定でClickHouseに送信されたクエリは、query_logサーバー設定パラメータのルールに従ってログされます。

例:

log_queries=1

log_queries_cut_to_length

タイプ: UInt64

デフォルト値: 100000

クエリの長さが指定された閾値(バイト単位)を超える場合、クエリはクエリログに書き込む際にカットされます。また、通常のテキストログに印刷されるクエリの長さも制限されます。

log_queries_min_query_duration_ms

タイプ: ミリ秒

デフォルト値: 0

無効にした場合0以外、この設定の値よりも早く実行されたクエリはログに記録されませんこれはMySQLのスロークエリログlong_query_timeのように考えられます)。基本的に、次のテーブルには表示されません。

  • system.query_log
  • system.query_thread_log

次のタイプのクエリのみがログに記載されます。

  • QUERY_FINISH

  • EXCEPTION_WHILE_PROCESSING

  • タイプ: ミリ秒

  • デフォルト値: 0すべてのクエリ

log_queries_min_type

タイプ: LogQueriesType

デフォルト値: QUERY_START

query_logに記録する最小タイプです。

可能な値:

  • QUERY_START=1
  • QUERY_FINISH=2
  • EXCEPTION_BEFORE_START=3
  • EXCEPTION_WHILE_PROCESSING=4

これを使用して、query_logにどのエンティティをログに記録するかを制限できます。たとえば、エラーのみに関心がある場合は、EXCEPTION_WHILE_PROCESSINGを使用できます:

log_queries_min_type='EXCEPTION_WHILE_PROCESSING'

log_queries_probability

タイプ: Float

デフォルト値: 1

ユーザーがquery_logquery_thread_log、およびquery_views_logシステムテーブルに、指定された確率でランダムに選択されたクエリのサンプルのみをログに記録できるようにします。これにより、1秒あたり大量のクエリが発生する際の負荷を削減できます。

可能な値:

  • 0 — クエリはシステムテーブルにログされません。
  • 正の浮動小数点数で範囲は [0..1]。例えば、設定値が 0.5 の場合、クエリの約半分がシステムテーブルに記録されます。
  • 1 — すべてのクエリがシステムテーブルに記録されます。

log_query_settings

タイプ: Bool

デフォルト値: 1

クエリログと OpenTelemetry span ログにクエリ設定を記録します。

log_query_threads

タイプ: Bool

デフォルト値: 0

クエリスレッドのロギングを設定します。

クエリスレッドは system.query_thread_log テーブルにログとして記録されます。この設定は、log_queries が true の場合のみ効果があります。この設定で ClickHouse によって実行されるクエリのスレッドは、query_thread_log サーバー設定パラメーターのルールに従って記録されます。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

log_query_threads=1

log_query_views

タイプ: Bool

デフォルト値: 1

クエリビューのロギングを設定します。

この設定が有効な状態で ClickHouse によって実行されるクエリに関連するビュー(物化ビューまたはライブビュー)があれば、それらは query_views_log サーバー設定パラメーターに記録されます。

例:

log_query_views=1

low_cardinality_allow_in_native_format

タイプ: Bool

デフォルト値: 1

LowCardinality データ型を Native 形式で使用することを許可または制限します。

LowCardinality の使用が制限されている場合、ClickHouse サーバーは SELECT クエリのために LowCardinality カラムを通常のカラムに変換し、INSERT クエリのために通常のカラムを LowCardinality カラムに変換します。

この設定は、LowCardinality データ型をサポートしないサードパーティクライアント向けに主に必要です。

可能な値:

  • 1 — LowCardinality の使用は制限されません。
  • 0 — LowCardinality の使用は制限されます。

low_cardinality_max_dictionary_size

タイプ: UInt64

デフォルト値: 8192

LowCardinality データ型のためにストレージファイルシステムに書き込むことができる共有グローバルDictionaryの最大サイズ行数を設定します。この設定は、無制限のDictionary成長によるRAMの問題を防ぎます。最大Dictionaryサイズの制限によりエンコードできないすべてのデータは、ClickHouse が通常の方法で書き込みます。

可能な値:

  • 任意の正の整数。

low_cardinality_use_single_dictionary_for_part

タイプ: Bool

デフォルト値: 0

データパートのために単一Dictionaryの使用をオンまたはオフにします。

デフォルトでは、ClickHouse サーバーはDictionaryのサイズを監視し、Dictionaryがオーバーフローした場合に次のDictionaryの書き込みを開始します。複数のDictionaryの作成を禁止するには low_cardinality_use_single_dictionary_for_part = 1 を設定します。

可能な値:

  • 1 — データパートのための複数のDictionaryの作成が禁止されます。
  • 0 — データパートのための複数のDictionaryの作成は禁止されません。

materialize_skip_indexes_on_insert

タイプ: Bool

デフォルト値: 1

true の場合、挿入時にスキップインデックスが計算されます。そうでない場合、スキップインデックスはマージ時にのみ計算されます。

materialize_statistics_on_insert

タイプ: Bool

デフォルト値: 1

true の場合、挿入時に統計が計算されます。そうでない場合、統計はマージ時にのみ計算されます。

materialize_ttl_after_modify

タイプ: Bool

デフォルト値: 1

ALTER MODIFY TTL クエリの後に古いデータに TTL を適用します。

materialized_views_ignore_errors

タイプ: Bool

デフォルト値: 0

MATERIALIZED VIEW のエラーを無視し、MV に関わらず元のブロックをテーブルに配信することを許可します。

max_analyze_depth

タイプ: UInt64

デフォルト値: 5000

インタープリタによって実行される最大分析数。

max_ast_depth

タイプ: UInt64

デフォルト値: 1000

クエリ構文木の最大深さ。解析後にチェックされます。

max_ast_elements

タイプ: UInt64

デフォルト値: 50000

構文木の最大ノード数。解析後にチェックされます。

max_backup_bandwidth

タイプ: UInt64

デフォルト値: 0

サーバー上の特定のバックアップ用の最大読み取り速度(バイト毎秒)。ゼロは無制限を意味します。

max_block_size

タイプ: UInt64

デフォルト値: 65409

ClickHouse では、データは列の部分のセットであるブロックによって処理されます。単一ブロックの内部処理サイクルは効率的ですが、各ブロックを処理する際には目に見えるコストが発生します。

max_block_size 設定は、テーブルからデータをロードする際に単一ブロックに含める推奨最大行数を示します。 max_block_size サイズのブロックは常にテーブルからロードされるわけではありません。もし ClickHouse が必要なデータが少ないと判断した場合は、小さいブロックが処理されます。

ブロックサイズが小さすぎると、各ブロックを処理する際に目に見えるコストが発生するので注意が必要です。大きすぎると、最初のブロックの処理後に LIMIT 句を持つクエリが迅速に実行されない可能性があります。max_block_size を設定する際の目標は、多くのカラムを複数のスレッドで取り出す際にメモリを使いすぎないようにしつつ、少なくともある程度のキャッシュの局所性を保つことです。

max_bytes_before_external_group_by

タイプ: UInt64

デフォルト値: 0

GROUP BY 操作中のメモリ使用量がこのバイト数の閾値を超えた場合は、'external aggregation' モードを有効にします(データをディスクにスピルします)。推奨値はシステムメモリの半分です。

max_bytes_before_external_sort

タイプ: UInt64

デフォルト値: 0

ORDER BY 操作中のメモリ使用量がこのバイト数の閾値を超えた場合は、'external sorting' モードを有効にします(データをディスクにスピルします)。推奨値はシステムメモリの半分です。

max_bytes_before_remerge_sort

タイプ: UInt64

デフォルト値: 1000000000

ORDER BY で LIMIT がある場合、メモリ使用量が指定された閾値を超えた場合、最終的なマージに向けてブロックを追加的にマージする手順を実行し、上位 LIMIT 行のみを保持します。

max_bytes_in_distinct

タイプ: UInt64

デフォルト値: 0

DISTINCT の実行中の状態の最大合計サイズ(圧縮されていないバイト単位)をメモリ内で管理します。

max_bytes_in_join

タイプ: UInt64

デフォルト値: 0

JOIN のためのハッシュテーブルの最大サイズ(メモリ内のバイト数)。

max_bytes_in_set

タイプ: UInt64

デフォルト値: 0

IN セクションの実行結果の最大サイズ(メモリ内のバイト数)です。

max_bytes_to_read

タイプ: UInt64

デフォルト値: 0

最も「深い」ソースからの読み取りバイト数の制限(解凍後)。つまり、最も深いサブクエリのみ。リモートサーバーから読み取るときは、この制限はリモートサーバーでのみ確認されます。

max_bytes_to_read_leaf

タイプ: UInt64

デフォルト値: 0

分散クエリの葉ードでの読み取りバイト数の制限。この制限はローカルリードのみに適用され、ルートードでの最終的なマージステージを除外します。この設定は、prefer_localhost_replica=1 の場合に不安定です。

max_bytes_to_sort

タイプ: UInt64

デフォルト値: 0

ORDER BY 操作のために処理しなければならないバイト数が指定された量を超えた場合、その動作は 'sort_overflow_mode' によって決まります。デフォルトでは例外がスローされます。

max_bytes_to_transfer

タイプ: UInt64

デフォルト値: 0

GLOBAL IN/JOIN セクションが実行されるときに、転送される外部テーブルの最大サイズ(圧縮されていないバイト単位)。

max_columns_to_read

タイプ: UInt64

デフォルト値: 0

クエリが指定された数のカラムを読み取る必要がある場合、例外がスローされます。ゼロの値は無制限を意味します。この設定は、あまりにも複雑なクエリを防ぐために便利です。

max_compress_block_size

タイプ: UInt64

デフォルト値: 1048576

テーブルに書き込むために圧縮する前の未圧縮データのブロックの最大サイズ。デフォルトは1,048,5761 MiB。一般に小さいブロックサイズを指定すると圧縮率がわずかに低下し、キャッシュの局所性により圧縮および解凍速度がわずかに向上し、メモリ消費が減少します。

:::note これは専門的な設定であり、ClickHouse を始めたばかりの場合は変更しないでください。 :::

圧縮用のブロック(バイトのチャンクからなるメモリの断片)とクエリ処理用のブロック(テーブルからの行のセット)を混同しないでください。

max_concurrent_queries_for_all_users

タイプ: UInt64

デフォルト値: 0

この設定の値が同時に処理されているクエリの現在の数以下の場合、例外をスローします。

例: max_concurrent_queries_for_all_users を99に設定し、データベース管理者は自身が100に設定することで、サーバーがオーバーロードされている場合でも調査のためのクエリを実行できます。

1つのクエリまたはユーザーの設定を変更しても、他のクエリには影響しません。

可能な値:

  • 正の整数。
  • 0 — 制限なし。

<max_concurrent_queries_for_all_users>99</max_concurrent_queries_for_all_users>

関連情報

max_concurrent_queries_for_user

タイプ: UInt64

デフォルト値: 0

ユーザーごとに同時に処理されるクエリの最大数。

可能な値:

  • 正の整数。
  • 0 — 制限なし。

<max_concurrent_queries_for_user>5</max_concurrent_queries_for_user>

max_distributed_connections

タイプ: UInt64

デフォルト値: 1024

単一の分散テーブルに対して単一のクエリのためのリモートサーバーとの同時接続の最大数。クラスター内のサーバーの数以上の値を設定することを推奨します。

次のパラメータは、分散テーブルを作成する際とサーバーを起動する際のみ使用されるため、実行時に変更する理由はありません。

max_distributed_depth

タイプ: UInt64

デフォルト値: 5

Distributed テーブルの再帰クエリの最大深さを制限します。

値が超えた場合、サーバーは例外をスローします。

可能な値:

  • 正の整数。
  • 0 — 深さ制限なし。

max_download_buffer_size

タイプ: UInt64

デフォルト値: 10485760

各スレッドのための並行ダウンロード用バッファの最大サイズ(例: URL エンジン用)。

max_download_threads

タイプ: MaxThreads

デフォルト値: 4

データをダウンロードするための最大スレッド数(例: URL エンジン用)。

max_estimated_execution_time

タイプ: Seconds

デフォルト値: 0

クエリの推定最大実行時間(秒単位)。

max_execution_speed

タイプ: UInt64

デフォルト値: 0

1秒あたりの実行行数の最大数。

max_execution_speed_bytes

タイプ: UInt64

デフォルト値: 0

1秒あたりの実行バイト数の最大数。

max_execution_time

タイプ: Seconds

デフォルト値: 0

クエリの実行時間が指定された秒数を超えた場合、その動作は 'timeout_overflow_mode' によって決まります。デフォルトでは例外がスローされます。このタイムアウトはチェックされ、クエリはデータ処理の指定された場所でのみ停止できます。現在、集計状態のマージやクエリ分析中に停止することはできず、実際の実行時間はこの設定の値を超える可能性があります。

max_execution_time_leaf

タイプ: Seconds

デフォルト値: 0

max_execution_time に類似の意味を持ちますが、分散クエリの葉ノードでのみ適用されます。タイムアウトは 'timeout_overflow_mode_leaf' によって決定され、デフォルトでは例外がスローされます。

max_expanded_ast_elements

タイプ: UInt64

デフォルト値: 500000

エイリアスとアスタリスクを拡張した後のクエリ構文木の最大サイズ(ノード数)。

max_fetch_partition_retries_count

タイプ: UInt64

デフォルト値: 5

別のホストからパーティションを取得する際のリトライ回数。

max_final_threads

タイプ: MaxThreads

デフォルト値: 'auto(12)'

FINAL 修飾子を持つ SELECT クエリのデータ読み取りフェーズに対する最大並列スレッド数を設定します。

可能な値:

  • 正の整数。
  • 0 または 1 — 無効。 SELECT クエリは単一スレッドで実行されます。

max_http_get_redirects

タイプ: UInt64

デフォルト値: 0

許可される最大数のHTTP GETリダイレクトホップ。悪意のあるサーバーがリクエストを予期しないサービスにリダイレクトするのを防ぐために、追加のセキュリティ対策が講じられています。\n\nこれは、外部サーバーが他のアドレスにリダイレクトする場合ですが、そのアドレスが企業のインフラに内部的に見える場合に該当します。内部サーバーにHTTPリクエストを送信すると、認証をバイパスして内部ネットワークから内部APIを要求したり、Redis や Memcached などの他のサービスをクエリしたりすることができます。内部のインフラストラクチャローカルホストで動作しているものを含むを持っていない場合や、サーバーを信頼する場合は、リダイレクトを許可するのは安全です。ただし、URLがHTTPを使用している場合は、リモートサーバーだけでなく、ISPや中間のすべてのネットワークも信頼しなければなりません。

max_hyperscan_regexp_length

タイプ: UInt64

デフォルト値: 0

hyperscan マルチマッチ関数での各正規表現の最大長を定義します。

可能な値:

  • 正の整数。
  • 0 — 長さに制限なし。

クエリ:

SELECT multiMatchAny('abcd', ['ab','bcd','c','d']) SETTINGS max_hyperscan_regexp_length = 3;

結果:

┌─multiMatchAny('abcd', ['ab', 'bcd', 'c', 'd'])─┐
│                                              1 │
└────────────────────────────────────────────────┘

クエリ:

SELECT multiMatchAny('abcd', ['ab','bcd','c','d']) SETTINGS max_hyperscan_regexp_length = 2;

結果:

Exception: Regexp length too large.

関連情報

max_hyperscan_regexp_total_length

タイプ: UInt64

デフォルト値: 0

hyperscan マルチマッチ関数内のすべての正規表現の合計最大長を設定します。

可能な値:

  • 正の整数。
  • 0 — 長さに制限なし。

クエリ:

SELECT multiMatchAny('abcd', ['a','b','c','d']) SETTINGS max_hyperscan_regexp_total_length = 5;

結果:

┌─multiMatchAny('abcd', ['a', 'b', 'c', 'd'])─┐
│                                           1 │
└─────────────────────────────────────────────┘

クエリ:

SELECT multiMatchAny('abcd', ['ab','bc','c','d']) SETTINGS max_hyperscan_regexp_total_length = 5;

結果:

Exception: Total regexp lengths too large.

関連情報

max_insert_block_size

タイプ: UInt64

デフォルト値: 1048449

テーブルに挿入するために形成されるブロックのサイズ行数です。この設定は、サーバーがブロックを形成する場合にのみ適用されます。例えば、HTTP インターフェース経由のINSERTの場合、サーバーはデータ形式を解析し、指定されたサイズのブロックを形成します。しかし、clickhouse-clientを使用する場合、クライアントはデータを独自に解析し、サーバーでの max_insert_block_size 設定は挿入されるブロックのサイズに影響を与えません。この設定は、INSERT SELECT を使用する場合には目的がありません。SELECT の後に形成される同じブロックを使用してデータが挿入されるためです。

デフォルト値は max_block_size よりわずかに大きくなっています。これは、特定のテーブルエンジン(*MergeTree)がディスクに挿入された各ブロックのデータパートを形成するため、かなり大きなエンティティになるためです。同様に、*MergeTree テーブルは挿入中にデータをソートし、十分に大きなブロックサイズによってメモリ内でより多くのデータをソートできるようにします。

max_insert_delayed_streams_for_parallel_write

タイプ: UInt64

デフォルト値: 0

最終パートフラッシュを遅らせるための最大ストリームカラムの数。デフォルトは自動基盤となるストレージが並列書き込みをサポートしている場合は1000、それ以外は無効

max_insert_threads

タイプ: UInt64

デフォルト値: 0

INSERT SELECT クエリを実行するための最大スレッド数。

可能な値:

  • 0または 1INSERT SELECT は並列実行されません。
  • 正の整数。1より大きい。

クラウドデフォルト値: サービスのサイズに応じて2〜4。

並列 INSERT SELECT は、SELECT 部分が並列で実行されている場合にのみ効果があります。詳細については max_threads 設定を参照してください。より高い値は、より多くのメモリ使用量につながります。

max_joined_block_size_rows

タイプ: UInt64

デフォルト値: 65409

JOIN 結果の最大ブロックサイズ結合アルゴリズムがサポートしている場合。0は無制限を意味します。

max_limit_for_ann_queries

タイプ: UInt64

デフォルト値: 1000000

この設定を超える LIMIT を持つ SELECT クエリは、ベクトル類似インデックスを使用できません。ベクトル類似インデックスでのメモリオーバーフローを防ぐのに役立ちます。

max_live_view_insert_blocks_before_refresh

タイプ: UInt64

デフォルト値: 64

マージ可能なブロックがドロップされ、クエリが再実行される前の最大挿入ブロック数を制限します。

max_local_read_bandwidth

タイプ: UInt64

デフォルト値: 0

ローカルリードの最大速度(バイト毎秒)。

max_local_write_bandwidth

タイプ: UInt64

デフォルト値: 0

ローカル書き込みの最大速度(バイト毎秒)。

max_memory_usage

タイプ: UInt64

デフォルト値: 0

単一クエリの処理に対する最大メモリ使用量。ゼロは無制限を意味します。

max_memory_usage_for_user

タイプ: UInt64

デフォルト値: 0

ユーザーによるすべての同時実行クエリの処理に対する最大メモリ使用量。ゼロは無制限を意味します。

max_network_bandwidth

タイプ: UInt64

デフォルト値: 0

ネットワーク越しのデータ交換の速度を制限します(バイト毎秒)。この設定は、すべてのクエリに適用されます。

可能な値:

  • 正の整数。
  • 0 — 帯域幅制御が無効です。

max_network_bandwidth_for_all_users

タイプ: UInt64

デフォルト値: 0

ネットワーク越しのデータ交換の速度を制限します(バイト毎秒)。この設定は、サーバー上のすべての同時実行クエリに適用されます。

可能な値:

  • 正の整数。
  • 0 — データ速度制御が無効です。

max_network_bandwidth_for_user

タイプ: UInt64

デフォルト値: 0

ユーザーによるネットワーク越しのデータ交換の速度を制限します(バイト毎秒)。この設定は、単一のユーザーが実行するすべての同時実行クエリに適用されます。

可能な値:

  • 正の整数。
  • 0 — データ速度制御が無効です。

max_network_bytes

タイプ: UInt64

デフォルト値: 0

クエリを実行する際に、ネットワーク越しに受信または送信されるデータ量(バイト単位)を制限します。この設定は、各個別のクエリに適用されます。

可能な値:

  • 正の整数。
  • 0 — データ量制御が無効です。

max_number_of_partitions_for_independent_aggregation

タイプ: UInt64

デフォルト値: 128

最適化を適用するためのテーブル内の最大パーティション数。

max_parallel_replicas

タイプ: NonZeroUInt64

デフォルト値: 1

クエリを実行する際の各シャードに対する最大のレプリカ数。

可能な値:

  • 正の整数。

追加情報

このオプションは使用される設定に応じて異なる結果を生じます。

:::note この設定は、結合またはサブクエリが関与している場合や、すべてのテーブルが特定の要件を満たしていない場合に不正確な結果を生じます。詳細については、Distributed Subqueries and max_parallel_replicas を参照してください。 :::

SAMPLE キーを使用した並列処理

クエリは、複数のサーバーで同時に実行される場合、より速く処理されることがあります。しかし、次のような場合にはクエリのパフォーマンスが低下する可能性があります。

  • サンプリングキーの位置がパーティショニングキー内にあり、効率的な範囲スキャンができない。
  • テーブルにサンプリングキーを追加することで、他のカラムによるフィルタリングの効率が低下する。
  • サンプリングキーが計算コストの高い式である。
  • クラスタのレイテンシ分布にロングテールがあるため、サーバーを増やすと全体のレイテンシが増加する。

parallel_replicas_custom_key を使用した並列処理

この設定は、任意のレプリケートテーブルに便利です。

max_parser_backtracks

タイプ: UInt64

デフォルト値: 1000000

再帰下降解析プロセス中に異なる代替を試みる最大バックトラック数。

max_parser_depth

タイプ: UInt64

デフォルト値: 1000

再帰下降パーサーでの再帰の最大深さを制限します。スタックサイズを制御できます。

可能な値:

  • 正の整数。
  • 0 — 再帰の深さに制限なし。

max_parsing_threads

タイプ: MaxThreads

デフォルト値: 'auto(12)'

並行解析をサポートする入力形式のデータを解析するための最大スレッド数。デフォルトでは自動的に決定されます。

max_partition_size_to_drop

タイプ: UInt64

デフォルト値: 50000000000

クエリ時のパーティション削除に対する制限。値が0の場合、制限なしでパーティションを削除できます。

クラウドデフォルト値: 1 TB。

:::note このクエリ設定は、そのサーバー設定の同等のものを上書きします。詳細については、max_partition_size_to_drop を参照してください。 :::

max_partitions_per_insert_block

タイプ: UInt64

デフォルト値: 100

単一の INSERT されたブロック内の最大パーティション数を制限します。ゼロは無制限を意味します。ブロックにパーティションが多すぎる場合は例外をスローします。この設定は安全閾値です。多くのパーティションを使用することは一般的な誤解です。

max_partitions_to_read

タイプ: Int64

デフォルト値: -1

1つのクエリでアクセスできる最大パーティション数を制限します。 <= 0 は無制限を意味します。

max_parts_to_move

タイプ: UInt64

デフォルト値: 1000

1つのクエリで移動できるパーツの数を制限します。ゼロは無制限を意味します。

max_query_size

タイプ: UInt64

デフォルト値: 262144

SQL パーサーによって解析されるクエリ文字列の最大バイト数。 INSERT クエリの VALUES 句内のデータは、別のストリームパーサーO(1) RAM を消費)によって処理され、この制限には影響しません。

:::note max_query_size は SQL クエリ内(例えば、SELECT now() SETTINGS max_query_size=10000では設定できません。ClickHouse はクエリを解析するためにバッファを割り当てる必要がありますが、このバッファサイズは実行前に設定する必要がある max_query_size 設定によって決まります。 :::

max_read_buffer_size

タイプ: UInt64

デフォルト値: 1048576

ファイルシステムから読み取るためのバッファの最大サイズ。

max_read_buffer_size_local_fs

タイプ: UInt64

デフォルト値: 131072

ローカルファイルシステムから読み取るためのバッファの最大サイズ。 0 に設定した場合、max_read_buffer_size が使用されます。

max_read_buffer_size_remote_fs

タイプ: UInt64

デフォルト値: 0

リモートファイルシステムから読み取るためのバッファの最大サイズ。 0 に設定した場合、max_read_buffer_size が使用されます。

max_recursive_cte_evaluation_depth

タイプ: UInt64

デフォルト値: 1000

再帰 CTE 評価深度の最大限度。

max_remote_read_network_bandwidth

タイプ: UInt64

デフォルト値: 0

読み取りのためのネットワーク越しのデータ交換の最大速度(バイト毎秒)。

max_remote_write_network_bandwidth

タイプ: UInt64

デフォルト値: 0

書き込みのためのネットワーク越しのデータ交換の最大速度(バイト毎秒)。

max_replica_delay_for_distributed_queries

タイプ: UInt64

デフォルト値: 300

分散クエリに対する遅延レプリカを無効にします。詳細は Replication を参照してください。

秒単位で時間を設定します。レプリカの遅延が設定値以上に大きい場合は、このレプリカは使用されません。

可能な値:

  • 正の整数。
  • 0 — レプリカの遅延はチェックされません。

非ゼロの遅延を持つレプリカを使用しないようにするには、このパラメータを1に設定します。

レプリケートされたテーブルを指す分散テーブルから SELECT を実行する際に使用されます。

max_result_bytes

タイプ: UInt64

デフォルト値: 0

結果のサイズ(バイト)が制限されます(未圧縮)。閾値に達すると、データのブロックを処理した後にクエリは停止しますが、結果の最後のブロックは切り捨てられません。したがって、結果のサイズは閾値を超える可能性があります。注意事項: 結果のメモリ内サイズがこの閾値にカウントされます。結果のサイズが小さくても、LowCardinality カラムのDictionaryや、AggregateFunction カラムのアリーナのように、大きなデータ構造をメモリ内で参照している場合、この閾値を超える可能性があります。この設定は非常に低レベルであり、注意して使用する必要があります。

max_result_rows

タイプ: UInt64

デフォルト値: 0

結果サイズに関する制限(行)。閾値に達すると、データのブロックを処理した後にクエリは停止しますが、結果の最後のブロックは切り捨てられません。したがって、結果のサイズは閾値を超える可能性があります。

max_rows_in_distinct

タイプ: UInt64

デフォルト値: 0

DISTINCT の実行中の最大要素数。

max_rows_in_join

タイプ: UInt64

デフォルト値: 0

JOIN のためのハッシュテーブルの最大サイズ(行数)。

max_rows_in_set

タイプ: UInt64

デフォルト値: 0

IN セクションの実行結果の最大サイズ(要素数)。

max_rows_in_set_to_optimize_join

タイプ: UInt64

デフォルト値: 0

結合テーブルをお互いの行セットでフィルタリングするための最大セットサイズ。

可能な値:

  • 0 — 無効。
  • 任意の正の整数。

max_rows_to_group_by

タイプ: UInt64

デフォルト値: 0

GROUP BY中に指定された行数ユニークなGROUP BYキーが生成される場合、その動作は 'group_by_overflow_mode' によって決まります。デフォルトでは例外をスローされますが、大まかなGROUP BYモードに切り替えることもできます。

max_rows_to_read

タイプ: UInt64

デフォルト値: 0

最も「深い」ソースから読み取る行数の制限。つまり、最も深いサブクエリでのみ。リモートサーバーから読み取るときは、この制限はリモートサーバーでのみ確認されます。

max_rows_to_read_leaf

タイプ: UInt64

デフォルト値: 0

分散クエリの葉ードでの読み取り行数の制限。この制限はローカルリードのみに適用され、ルートードでの最終的なマージステージを除外します。この設定は、prefer_localhost_replica=1 の場合に不安定です。

max_rows_to_sort

タイプ: UInt64

デフォルト値: 0

ORDER BY 操作のために処理しなければならないレコード数が指定された量を超えた場合、その動作は 'sort_overflow_mode' によって決まります。デフォルトでは例外がスローされます。

max_rows_to_transfer

タイプ: UInt64

デフォルト値: 0

GLOBAL IN/JOIN セクションが実行される際に伝達される外部テーブルの最大サイズ(行数)。

max_sessions_for_user

タイプ: UInt64

デフォルト値: 0

ユーザーのための同時セッションの最大数。

max_size_to_preallocate_for_aggregation

タイプ: UInt64

デフォルト値: 100000000

集約前に全ハッシュテーブルに合計で事前に確保を許可する要素数。

max_size_to_preallocate_for_joins

タイプ: UInt64

デフォルト値: 100000000

結合前に全ハッシュテーブルに合計で事前に確保を許可する要素数。

max_streams_for_merge_tree_reading

タイプ: UInt64

デフォルト値: 0

ゼロでない場合、MergeTree テーブルのための読み取りストリームの数を制限します。

max_streams_multiplier_for_merge_tables

タイプ: Float

デフォルト値: 5

マージテーブルから読み込む際にストリームを追加します。ストリームは、マージテーブルが使用するテーブルに分散されます。これにより、スレッド間での作業の均等な分配が可能になり、特にマージされたテーブルのサイズが異なる場合に役立ちます。

max_streams_to_max_threads_ratio

タイプ: Float

デフォルト値: 1

スレッドの数以上のソースを使用できるようにし、作業をスレッド間で均等に分配します。将来的には、ソースの数とスレッドの数を等しくし、それぞれのソースが自ら利用可能な作業を動的に選択できるようになると想定されています。

max_subquery_depth

タイプ: UInt64

デフォルト値: 100

クエリに指定された数以上のネストされたサブクエリが含まれている場合、例外を投げます。これにより、クラスターのユーザーがクエリで苦しむのを防ぐサニティチェックを提供します。

max_table_size_to_drop

タイプ: UInt64

デフォルト値: 50000000000

クエリ実行時にテーブルを削除する際の制限。値0は、制限なしで全てのテーブルを削除することを意味します。

クラウドのデフォルト値: 1 TB。

:::note このクエリ設定は、サーバー設定の同等のものを上書きします。詳細はこちらを参照してください。 :::

max_temporary_columns

タイプ: UInt64

デフォルト値: 0

クエリが中間計算の結果としてメモリ内に指定された数以上の一時カラムを生成した場合、例外が投げられます。ゼロの値は無制限を意味します。この設定は、あまりにも複雑なクエリを防ぐのに役立ちます。

max_temporary_data_on_disk_size_for_query

タイプ: UInt64

デフォルト値: 0

すべての同時実行クエリに対して、ディスク上の一時ファイルによって消費されるデータの最大量(バイト単位)。ゼロは無制限を意味します。

max_temporary_data_on_disk_size_for_user

タイプ: UInt64

デフォルト値: 0

すべての同時実行ユーザークエリに対して、ディスク上の一時ファイルによって消費されるデータの最大量(バイト単位)。ゼロは無制限を意味します。

max_temporary_non_const_columns

タイプ: UInt64

デフォルト値: 0

max_temporary_columns設定に類似していますが、非定数カラムのみに適用されます。定数カラムはコストが低いため、より多くの定数カラムを許可するのが合理的です。

max_threads

タイプ: MaxThreads

デフォルト値: 'auto(12)'

クエリ処理スレッドの最大数。リモートサーバーからデータを取得するためのスレッドは除外されます(max_distributed_connectionsパラメータを参照)。

このパラメータは、クエリ処理パイプラインの同じ段階を並行して実行するスレッドに適用されます。例えば、テーブルから読み込む際、関数を用いた式の評価、WHEREでのフィルタリング、およびGROUP BYのための事前集計を最低でもmax_threadsの数のスレッドを使用して並行して実行可能であれば、max_threadsが使用されます。

LIMITによって早く完了するクエリの場合、より少ないmax_threadsを設定できます。例えば、必要な数のエントリが各ブロックに存在し、max_threads = 8であれば、8つのブロックが取得されますが、実際には1つを読むだけで済みます。

max_threadsの値が小さいほど、消費されるメモリは少なくなります。

max_threads_for_indexes

タイプ: UInt64

デフォルト値: 0

インデックスを処理するためのスレッドの最大数。

max_untracked_memory

タイプ: UInt64

デフォルト値: 4194304

小さなメモリの割り当てと解放はスレッドローカル変数にグループ化され、指定された値よりも大きくなるまでは追跡またはプロファイリングされません。値が'memory_profiler_step'を超える場合、実質的には'memory_profiler_step'に制限されます。

memory_overcommit_ratio_denominator

タイプ: UInt64

デフォルト値: 1073741824

これは、グローバルレベルでハードリミットに達したときのソフトメモリリミットを表します。この値は、クエリのオーバーコミット比を計算するために使用されます。ゼロはクエリをスキップすることを意味します。 メモリオーバーコミットについての詳細をお読みください。

memory_overcommit_ratio_denominator_for_user

タイプ: UInt64

デフォルト値: 1073741824

これは、ユーザーレベルでハードリミットに達したときのソフトメモリリミットを表します。この値は、クエリのオーバーコミット比を計算するために使用されます。ゼロはクエリをスキップすることを意味します。 メモリオーバーコミットについての詳細をお読みください。

memory_profiler_sample_max_allocation_size

タイプ: UInt64

デフォルト値: 0

指定された値以下のサイズのランダムな割り当てをmemory_profiler_sample_probabilityの確率で収集します。0は無効を意味します。これが期待通りに動作するために、max_untracked_memoryを0に設定することをお勧めします。

memory_profiler_sample_min_allocation_size

タイプ: UInt64

デフォルト値: 0

指定された値以上のサイズのランダムな割り当てをmemory_profiler_sample_probabilityの確率で収集します。0は無効を意味します。これが期待通りに動作するために、max_untracked_memoryを0に設定することをお勧めします。

memory_profiler_sample_probability

タイプ: Float

デフォルト値: 0

ランダムな割り当てと解放を収集し、'MemorySample'トレースタイプでsystem.trace_logに書き込みます。この確率は、サイズに関係なくすべての割り当て/解放に対して適用されます(memory_profiler_sample_min_allocation_sizememory_profiler_sample_max_allocation_sizeで変更可能です)。追跡されていないメモリの量が'max_untracked_memory'を超えたときのみサンプリングは行われます。追加の詳細なサンプリングのためにmax_untracked_memoryを0に設定することをお勧めします。

memory_profiler_step

タイプ: UInt64

デフォルト値: 4194304

メモリプロファイラのステップを設定します。クエリのメモリ使用量が次のステップのバイト数よりも大きくなると、メモリプロファイラは割り当てスタックトレースを収集し、それをtrace_logに書き込みます。

可能な値:

  • 正の整数(バイト単位)。

  • メモリプロファイラをオフにするには0を設定します。

memory_tracker_fault_probability

タイプ: Float

デフォルト値: 0

exception safetyのテスト - 指定された確率でメモリを割り当てるたびに例外を投げます。

memory_usage_overcommit_max_wait_microseconds

タイプ: UInt64

デフォルト値: 5000000

ユーザーレベルでのメモリオーバーコミットの場合、スレッドがメモリの解放を待つ最大時間。 タイムアウトに達し、メモリが解放されない場合、例外が投げられます。 メモリオーバーコミットについての詳細をお読みください。

merge_tree_coarse_index_granularity

タイプ: UInt64

デフォルト値: 8

データを検索する際、ClickHouseはインデックスファイルのデータマークを確認します。必要なキーが特定の範囲に存在する場合、ClickHouseはこの範囲をmerge_tree_coarse_index_granularityのサブ範囲に分割し、再帰的にそこに必要なキーを探索します。

可能な値:

  • 任意の正の偶数整数。

merge_tree_compact_parts_min_granules_to_multibuffer_read

タイプ: UInt64

デフォルト値: 16

ClickHouse Cloud専用。MergeTreeテーブルのコンパクト部のストライプ内のグラニュール数で、マルチバッファリーダーを使用して並行読み込みとプリフェッチをサポートします。リモートfsから読み込む際にマルチバッファリーダーを使用すると、読み取り要求の数が増加します。

merge_tree_determine_task_size_by_prewhere_columns

タイプ: Bool

デフォルト値: 1

読み取りタスクのサイズを決定するためにのみ、前に指定されたカラムのサイズを使用するかどうか。

merge_tree_max_bytes_to_use_cache

タイプ: UInt64

デフォルト値: 2013265920

ClickHouseが1つのクエリでmerge_tree_max_bytes_to_use_cacheバイトを超えて読み込む必要がある場合、未圧縮ブロックのキャッシュは使用されません。

未圧縮ブロックのキャッシュは、クエリのために抽出されたデータを格納します。ClickHouseは、このキャッシュを使用して繰り返される小さなクエリへの応答を迅速化します。この設定は、大量のデータを読み込むクエリによってキャッシュが破壊されるのを防ぎます。uncompressed_cache_sizeサーバー設定は、未圧縮ブロックのキャッシュのサイズを定義します。

可能な値:

  • 任意の正の整数。

merge_tree_max_rows_to_use_cache

タイプ: UInt64

デフォルト値: 1048576

ClickHouseが1つのクエリでmerge_tree_max_rows_to_use_cache行を超えて読み込む必要がある場合、未圧縮ブロックのキャッシュは使用されません。

未圧縮ブロックのキャッシュは、クエリのために抽出されたデータを格納します。ClickHouseは、このキャッシュを使用して繰り返される小さなクエリへの応答を迅速化します。この設定は、大量のデータを読み込むクエリによってキャッシュが破壊されるのを防ぎます。uncompressed_cache_sizeサーバー設定は、未圧縮ブロックのキャッシュのサイズを定義します。

可能な値:

  • 任意の正の整数。

merge_tree_min_bytes_for_concurrent_read

タイプ: UInt64

デフォルト値: 251658240

MergeTreeエンジンテーブルの1ファイルから読み取るバイト数がmerge_tree_min_bytes_for_concurrent_readを超える場合、ClickHouseはこのファイルから複数のスレッドでの並行読み取りを試みます。

可能な値:

  • 正の整数。

merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem

タイプ: UInt64

デフォルト値: 0

リモートファイルシステムからの読み取り時に、MergeTreeエンジンが読み取りを並列化できるようにする前に、1ファイルから読み取るバイト数の最小値です。この設定の使用は推奨されません。

可能な値:

  • 正の整数。

merge_tree_min_bytes_for_seek

タイプ: UInt64

デフォルト値: 0

1ファイル内の2つのデータブロックの間の距離がmerge_tree_min_bytes_for_seekバイト未満である場合、ClickHouseは両方のブロックを含むファイルの範囲を sequentiallyに読み込み、余分なシークを回避します。

可能な値:

  • 任意の正の整数。

merge_tree_min_bytes_per_task_for_remote_reading

タイプ: UInt64

デフォルト値: 2097152

タスクごとに読み取るバイト数の最小値。

merge_tree_min_read_task_size

タイプ: UInt64

デフォルト値: 8

タスクサイズの絶対下限(グラニュール数が少なく、利用可能なスレッド数が多くても小さなタスクを割り当てません)。

merge_tree_min_rows_for_concurrent_read

タイプ: UInt64

デフォルト値: 163840

1ファイルから読み取る行数がmerge_tree_min_rows_for_concurrent_readを超える場合、ClickHouseはこのファイルから複数のスレッドでの並行読み取りを試みます。

可能な値:

  • 正の整数。

merge_tree_min_rows_for_concurrent_read_for_remote_filesystem

タイプ: UInt64

デフォルト値: 0

リモートファイルシステムからの読み取り時に、MergeTreeエンジンが読み取りを並列化できるようにする前に、1ファイルから読み取る行数の最小値です。この設定の使用は推奨されません。

可能な値:

  • 正の整数。

merge_tree_min_rows_for_seek

タイプ: UInt64

デフォルト値: 0

1ファイル内の2つのデータブロックの間の距離がmerge_tree_min_rows_for_seek行未満である場合、ClickHouseはファイルをシークせず、データを逐次読み込みます。

可能な値:

  • 任意の正の整数。

merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability

タイプ: Float

デフォルト値: 0

PartsSplitterのテスト - MergeTreeからデータを読み取る際に、指定された確率で範囲を交差するものと交差しないものに分割します。

merge_tree_use_const_size_tasks_for_remote_reading

タイプ: Bool

デフォルト値: 1

リモートテーブルから読み取る際に、固定サイズのタスクを使用するかどうか。

metrics_perf_events_enabled

タイプ: Bool

デフォルト値: 0

有効にすると、クエリの実行中に一部のパフォーマンスイベントが測定されます。

metrics_perf_events_list

タイプ: String

デフォルト値:

クエリの実行中に測定されるパフォーマンスメトリクスをコンマで区切ったリスト。空はすべてのイベントを意味します。利用可能なイベントについては、ソースのPerfEventInfoを参照してください。

min_bytes_to_use_direct_io

タイプ: UInt64

デフォルト値: 0

ストレージディスクに対してダイレクトI/Oアクセスを使用するために必要な最小データボリューム。

ClickHouseは、テーブルからデータを読み込む際にこの設定を使用します。読み取るデータの総ストレージボリュームがmin_bytes_to_use_direct_ioバイトを超える場合、ClickHouseはO_DIRECTオプションを使ってストレージディスクからデータを読み取ります。

可能な値:

  • 0 — ダイレクトI/Oは無効。
  • 正の整数。

min_bytes_to_use_mmap_io

タイプ: UInt64

デフォルト値: 0

これはエクスペリメンタルな設定です。カーネルからユーザースペースにデータをコピーしないで大きなファイルを読み取るための最小メモリ量を設定します。推奨されるしきい値は約64 MBです。なぜなら、mmap/munmapは遅いからです。これは大きなファイルのみに意味があり、データがページキャッシュに存在する場合にのみ役立ちます。

可能な値:

  • 正の整数。
  • 0 — 大きなファイルはカーネルからユーザースペースにデータをコピーするのみで読み込まれます。

min_chunk_bytes_for_parallel_parsing

タイプ: UInt64

デフォルト値: 10485760

  • タイプ: 正の整数
  • デフォルト値: 1 MiB

各スレッドが並行して解析する最小チャンクサイズ(バイト単位)。

min_compress_block_size

タイプ: UInt64

デフォルト値: 65536

MergeTreeテーブル用。クエリ処理時のレイテンシを減少させるために、次のマークを書き込む際、そのサイズがmin_compress_block_size以上であればブロックが圧縮されます。デフォルトは65,536です。

未圧縮データの実際のサイズがmax_compress_block_size未満であれば、ブロックのサイズはこの値以上、かつ1マーク分のデータ量以上でなければなりません。

例を見てみましょう。index_granularityがテーブル作成時に8192に設定されていたとします。

UInt32型のカラム値あたり4バイトを書き込む場合。8192行を書き込むと、合計32 KBのデータになります。min_compress_block_sizeが65,536であるため、2マークごとに圧縮ブロックが形成されます。

URL型のカラム平均サイズ60バイトの場合も見てみましょう。8192行を書き込むと、平均で500 KB弱のデータになります。これは65,536を超えているため、各マークごとに圧縮ブロックが形成されます。この場合、ディスクから単一のマークの範囲を読み込むときに余分なデータは解凍されません。

:::note これは専門家向けの設定であり、ClickHouseを使用し始めたばかりの人が変更するべきではありません。 :::

min_count_to_compile_aggregate_expression

タイプ: UInt64

デフォルト値: 3

JITコンパイルを開始するための同一の集約式の最小数。この設定は、compile_aggregate_expressionsが有効になっている場合にのみ機能します。

可能な値:

  • 正の整数。
  • 0 — 同一の集約式は常にJITコンパイルされます。

min_count_to_compile_expression

タイプ: UInt64

デフォルト値: 3

コンパイルが開始される前に実行される同じ式の最小カウント。

min_count_to_compile_sort_description

タイプ: UInt64

デフォルト値: 3

JITコンパイルされる前の同一のソート説明の数。

min_execution_speed

タイプ: UInt64

デフォルト値: 0

1秒あたりの実行行数の最小値。

min_execution_speed_bytes

タイプ: UInt64

デフォルト値: 0

1秒あたりの実行バイト数の最小値。

min_external_table_block_size_bytes

タイプ: UInt64

デフォルト値: 268402944

外部テーブルに渡されるブロックを指定されたバイトサイズに圧縮します。ブロックが十分に大きくない場合。

min_external_table_block_size_rows

タイプ: UInt64

デフォルト値: 1048449

外部テーブルに渡されたブロックを指定された行数に圧縮します。ブロックが十分に大きくない場合。

min_free_disk_bytes_to_perform_insert

タイプ: UInt64

デフォルト値: 0

挿入を行うために必要な最小空きディスク容量 (バイト単位)。

min_free_disk_ratio_to_perform_insert

タイプ: Float

デフォルト値: 0

挿入を行うために必要な最小空きディスクスペースの比率。

min_free_disk_space_for_temporary_data

タイプ: UInt64

デフォルト値: 0

外部ソートや集約で使用される一時データの書き込み中に保持する必要がある最小ディスクスペース。

min_hit_rate_to_use_consecutive_keys_optimization

タイプ: Float

デフォルト値: 0.5

合計キー最適化を保持するために使用されるキャッシュの最小ヒット率。

min_insert_block_size_bytes

タイプ: UInt64

デフォルト値: 268402944

INSERTクエリによってテーブルに挿入できるブロック内の最小バイト数を設定します。小さいサイズのブロックは大きなブロックに圧縮されます。

可能な値:

  • 正の整数。
  • 0 — 圧縮無効。

min_insert_block_size_bytes_for_materialized_views

タイプ: UInt64

デフォルト値: 0

INSERTクエリによってテーブルに挿入できるブロック内の最小バイト数を設定します。小さいサイズのブロックは大きなブロックに圧縮されます。この設定は、マテリアライズドビューに挿入されるブロックのみに適用されます。この設定を調整することで、マテリアライズドビューにプッシュする際のブロック圧縮を制御し、過剰なメモリ使用を回避します。

可能な値:

  • 任意の正の整数。
  • 0 — 圧縮無効。

詳細情報

min_insert_block_size_rows

タイプ: UInt64

デフォルト値: 1048449

INSERTクエリによってテーブルに挿入できるブロック内の最小行数を設定します。小さいサイズのブロックは大きなブロックに圧縮されます。

可能な値:

  • 正の整数。
  • 0 — 圧縮無効。

min_insert_block_size_rows_for_materialized_views

タイプ: UInt64

デフォルト値: 0

INSERTクエリによってテーブルに挿入できるブロック内の最小行数を設定します。小さいサイズのブロックは大きなブロックに圧縮されます。この設定は、マテリアライズドビューに挿入されるブロックのみに適用されます。この設定を調整することで、マテリアライズドビューにプッシュする際のブロック圧縮を制御し、過剰なメモリ使用を回避します。

可能な値:

  • 任意の正の整数。
  • 0 — 圧縮無効。

詳細情報

mongodb_throw_on_unsupported_query

タイプ: Bool

デフォルト値: 1

有効にすると、MongoDBクエリを構築できない場合、MongoDBテーブルはエラーを返します。そうでない場合、ClickHouseはテーブル全体を読み込み、ローカルで処理します。このオプションは、レガシー実装やallow_experimental_analyzer=0のときには適用されません。

move_all_conditions_to_prewhere

タイプ: Bool

デフォルト値: 1

WHEREからPREWHEREにすべての適用可能な条件を移動します。

move_primary_key_columns_to_end_of_prewhere

タイプ: Bool

デフォルト値: 1

主キー列を含むPREWHERE条件をANDチェーンの最後に移動します。これらの条件は主キー分析中に考慮される可能性が高く、PREWHEREフィルタリングには多く寄与しないと考えられます。

multiple_joins_try_to_keep_original_names

タイプ: Bool

デフォルト値: 0

複数の結合のリライト時にトップレベルの式リストにエイリアスを追加しない。

mutations_execute_nondeterministic_on_initiator

タイプ: Bool

デフォルト値: 0

この値がtrueの場合、定数非決定性関数例えば、関数now())はイニシエーター上で実行され、UPDATEおよびDELETEクエリのリテラルに置き換えられます。これは、定数非決定性関数を含む変異を実行中にデータをレプリカ間で同期させるのに役立ちます。デフォルト値: false

mutations_execute_subqueries_on_initiator

タイプ: Bool

デフォルト値: 0

この値がtrueの場合、スカラサブクエリはイニシエーター上で実行され、UPDATEおよびDELETEクエリのリテラルに置き換えられます。デフォルト値: false

mutations_max_literal_size_to_replace

タイプ: UInt64

デフォルト値: 16384

UPDATEおよびDELETEクエリで置換されるシリアライズされたリテラルの最大サイズバイト単位。上記の2つの設定のうち少なくとも1つが有効な場合にのみ有効です。デフォルト値: 1638416 KiB

mutations_sync

タイプ: UInt64

デフォルト値: 0

ALTER TABLE ... UPDATE|DELETE|MATERIALIZE INDEX|MATERIALIZE PROJECTION|MATERIALIZE COLUMNクエリ(変異)を同期的に実行することを許可します。

可能な値:

  • 0 - 変異は非同期で実行されます。
  • 1 - クエリは現在のサーバー上で全ての変異が完了するのを待ちます。
  • 2 - クエリは全てのレプリカ(存在する場合)で全ての変異が完了するのを待ちます。

mysql_datatypes_support_level

タイプ: MySQLDataTypesSupport

デフォルト値:

MySQLデータ型がそれに対応するClickHouseデータ型に変換される方法を定義します。decimaldatetime64date2Date32またはdate2Stringのいずれかの組み合わせにコンマで区切られたリスト。

  • decimal: 精度が許す限り、NUMERICおよびDECIMAL型をDecimalに変換します。
  • datetime64: 精度が0でない場合、DATETIMEおよびTIMESTAMP型をDateTime64に変換します。
  • date2Date32: DATEDate32に変換します(Dateの代わりに)。これはdate2Stringより優先されます。
  • date2String: DATEStringに変換します(Dateの代わりに)。datetime64によって上書きされます。

mysql_map_fixed_string_to_text_in_show_columns

タイプ: Bool

デフォルト値: 1

有効にすると、FixedStringのClickHouseデータ型は、SHOW COLUMNSTEXTとして表示されます。

これは、MySQLワイヤプロトコルを介して接続されている場合にのみ有効です。

  • 0 - BLOBを使用。
  • 1 - TEXTを使用。

mysql_map_string_to_text_in_show_columns

タイプ: Bool

デフォルト値: 1

有効にすると、StringのClickHouseデータ型は、SHOW COLUMNSTEXTとして表示されます。

これは、MySQLワイヤプロトコルを介して接続されている場合にのみ有効です。

  • 0 - BLOBを使用。
  • 1 - TEXTを使用。

mysql_max_rows_to_insert

タイプ: UInt64

デフォルト値: 65536

MySQLストレージエンジンのMySQLバッチ挿入における最大行数。

network_compression_method

タイプ: String

デフォルト値: LZ4

サーバー間およびサーバーとclickhouse-client間の通信に使用されるデータ圧縮方式を設定します。

可能な値:

  • LZ4 — LZ4圧縮方式を設定。
  • ZSTD — ZSTD圧縮方式を設定。

詳細情報

network_zstd_compression_level

タイプ: Int64

デフォルト値: 1

ZSTD圧縮のレベルを調整します。network_compression_methodZSTDに設定されているときのみ使用されます。

可能な値:

  • 1から15までの正の整数。

normalize_function_names

タイプ: Bool

デフォルト値: 1

関数名をその正規名に正規化します。

number_of_mutations_to_delay

タイプ: UInt64

デフォルト値: 0

変異したテーブルに未処理の変異が少なくともその数ある場合、テーブルの変異を人工的に遅らせる。0 - 無効。

number_of_mutations_to_throw

タイプ: UInt64

デフォルト値: 0

変異したテーブルに未処理の変異が少なくともその数ある場合、 'Too many mutations ...' 例外を投げる。0 - 無効。

odbc_bridge_connection_pool_size

タイプ: UInt64

デフォルト値: 16

ODBCブリッジ内の各接続設定文字列の接続プールサイズ。

odbc_bridge_use_connection_pooling

タイプ: Bool

デフォルト値: 1

ODBCブリッジで接続プールを使用します。falseに設定すると、毎回新しい接続が作成されます。

offset

タイプ: UInt64

デフォルト値: 0

クエリから返される行の前にスキップする行数を設定します。OFFSET句によって設定されたオフセットを調整し、これら2つの値を合計します。

可能な値:

  • 0 — 行はスキップされません。
  • 正の整数。

入力テーブル:

CREATE TABLE test (i UInt64) ENGINE = MergeTree() ORDER BY i;
INSERT INTO test SELECT number FROM numbers(500);

クエリ:

SET limit = 5;
SET offset = 7;
SELECT * FROM test LIMIT 10 OFFSET 100;

結果:

┌───i─┐
│ 107 │
│ 108 │
│ 109 │
└─────┘

opentelemetry_start_trace_probability

タイプ: Float

デフォルト値: 0

ClickHouseが実行されたクエリのトレースを開始できる確率を設定しますトレースコンテキストが提供されていない場合)。

可能な値:

  • 0 — 実行されたすべてのクエリのトレースが無効になります(親トレースコンテキストが提供されていない場合)。
  • 0..1の範囲内の正の浮動小数点数。例えば、設定値が0.5の場合、ClickHouseは平均して半分のクエリでトレースを開始することができます。
  • 1 — 実行されたすべてのクエリのトレースが有効になります。

opentelemetry_trace_processors

タイプ: Bool

デフォルト値: 0

プロセッサのためにOpenTelemetryスパンを収集します。

optimize_aggregation_in_order

タイプ: Bool

デフォルト値: 0

MergeTreeテーブルのデータを対応する順序で集約するためにSELECTクエリのGROUP BY最適化を有効にします。

可能な値:

  • 0 — GROUP BY最適化は無効。
  • 1 — GROUP BY最適化は有効。

詳細情報

optimize_aggregators_of_group_by_keys

タイプ: Bool

デフォルト値: 1

SELECTセクションでGROUP BYキーの最小/最大/any/anyLastアグリゲーターを排除します。

optimize_append_index

タイプ: Bool

デフォルト値: 0

インデックス条件を追加するために制約を使用します。デフォルトはfalseです。

可能な値:

  • true, false

optimize_arithmetic_operations_in_aggregate_functions

タイプ: Bool

デフォルト値: 1

集約関数の外で算術演算を移動します。

optimize_count_from_files

タイプ: Bool

デフォルト値: 1

異なる入力形式のファイルからの行数のカウントの最適化を有効または無効にします。これはテーブル関数/エンジンfile/s3/url/hdfs/azureBlobStorageに適用されます。

可能な値:

  • 0 — 最適化無効。
  • 1 — 最適化有効。

optimize_distinct_in_order

タイプ: Bool

デフォルト値: 1

DISTINCTの最適化を有効にし、DISTINCTの一部のカラムがソートのプレフィックスを形成する場合に適用されます。例えば、マージツリーまたはORDER BYステートメントのソートキーのプレフィックス。

optimize_distributed_group_by_sharding_key

タイプ: Bool

デフォルト値: 1

コストのかかるイニシエーターサーバーでの集約を避けることにより、GROUP BY sharding_keyクエリを最適化します。これにより、イニシエーターサーバーでのメモリ使用量が削減されます。 以下のタイプのクエリがサポートされています(そのすべての組み合わせも含まれます):

  • SELECT DISTINCT [..., ]sharding_key[, ...] FROM dist
  • SELECT ... FROM dist GROUP BY sharding_key[, ...]
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] ORDER BY x
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1
  • SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1 BY x

次の種類のクエリはサポートされていません(いくつかは後でサポートされる可能性があります):

  • SELECT ... GROUP BY sharding_key[, ...] WITH TOTALS
  • SELECT ... GROUP BY sharding_key[, ...] WITH ROLLUP
  • SELECT ... GROUP BY sharding_key[, ...] WITH CUBE
  • SELECT ... GROUP BY sharding_key[, ...] SETTINGS extremes=1

可能な値:

  • 0 — 無効。
  • 1 — 有効。

参照:

:::note 現在のところ、optimize_skip_unused_shardsが必要ですこれには、データが分散テーブル経由で挿入され、そのためデータがsharding_keyに従って分散されている場合にのみ正しく動作するという理由があります。 :::

optimize_functions_to_subcolumns

タイプ: Bool

デフォルト値: 1

サブカラムの読み込みに変換することによって最適化を有効または無効にします。これにより、読み込むデータの量が減ります。

これらの関数は変換可能です:

可能な値:

  • 0 — 最適化無効。
  • 1 — 最適化有効。

optimize_group_by_constant_keys

タイプ: Bool

デフォルト値: 1

すべてのキーが定数である場合のGROUP BYを最適化します。

optimize_group_by_function_keys

タイプ: Bool

デフォルト値: 1

GROUP BYセクションの他のキーの関数を排除します。

optimize_if_chain_to_multiif

タイプ: Bool

デフォルト値: 0

if(cond1, then1, if(cond2, ...))のチェーンをmultiIfに置き換えます。現在、数値型には有益ではありません。

optimize_if_transform_strings_to_enum

タイプ: Bool

デフォルト値: 0

IfおよびTransformの文字列型引数をenumに置き換えます。デフォルトでは無効です。これは、分散クエリに矛盾した変更をもたらし、それが失敗につながる可能性があるためです。

optimize_injective_functions_in_group_by

タイプ: Bool

デフォルト値: 1

GROUP BYセクションで引数によって射影関数を置き換えます。

optimize_injective_functions_inside_uniq

タイプ: Bool

デフォルト値: 1

uniq*()関数内の単一引数の射影関数を削除します。

optimize_min_equality_disjunction_chain_length

タイプ: UInt64

デフォルト値: 3

最適化のための式expr = x1 OR ... expr = xNの最小長さ。

optimize_min_inequality_conjunction_chain_length

タイプ: UInt64

デフォルト値: 3

最適化のための式expr <> x1 AND ... expr <> xNの最小長さ。

optimize_move_to_prewhere

タイプ: Bool

デフォルト値: 1

SELECTクエリでの自動PREFIX最適化を有効または無効にします。

これは*MergeTreeテーブルにのみ適用されます。

可能な値:

  • 0 — 自動PREWHERE最適化無効。
  • 1 — 自動PREWHERE最適化有効。

optimize_move_to_prewhere_if_final

タイプ: Bool

デフォルト値: 0

FINAL修飾子を持つSELECTクエリにおける自動PREFIX最適化を有効または無効にします。

これは*MergeTreeテーブルにのみ適用されます。

可能な値:

  • 0 — FINAL修飾子のあるSELECTクエリでの自動PREWHERE最適化無効。
  • 1 — FINAL修飾子のあるSELECTクエリでの自動PREWHERE最適化有効。

参照

optimize_multiif_to_if

タイプ: Bool

デフォルト値: 1

multiIfの条件を1つに置き換えます。

optimize_normalize_count_variants

タイプ: Bool

デフォルト値: 1

semantically equal count()として集計関数を再記述します。

optimize_on_insert

タイプ: Bool

デフォルト値: 1

挿入の前にデータ変換を有効または無効にします。これは、テーブルエンジンに従って(マージがこのブロックで実行されたかのように)行われます。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

有効と無効の違い:

クエリ:

SET optimize_on_insert = 1;

CREATE TABLE test1 (`FirstTable` UInt32) ENGINE = ReplacingMergeTree ORDER BY FirstTable;

INSERT INTO test1 SELECT number % 2 FROM numbers(5);

SELECT * FROM test1;

SET optimize_on_insert = 0;

CREATE TABLE test2 (`SecondTable` UInt32) ENGINE = ReplacingMergeTree ORDER BY SecondTable;

INSERT INTO test2 SELECT number % 2 FROM numbers(5);

SELECT * FROM test2;

結果:

┌─FirstTable─┐
│          0 │
│          1 │
└────────────┘

┌─SecondTable─┐
│           0 │
│           0 │
│           0 │
│           1 │
│           1 │
└─────────────┘

この設定はMaterialized viewMaterializedMySQLの動作に影響を与えることに注意してください。

optimize_or_like_chain

タイプ: Bool

デフォルト値: 0

複数のOR LIKEをmultiMatchAnyに最適化します。この最適化はデフォルトでは無効にすべきです。なぜなら、場合によってはインデックス分析を無効にするためです。

optimize_read_in_order

タイプ: Bool

デフォルト値: 1

MergeTreeテーブルからデータを読み取るためのORDER BY最適化を有効または無効にします。

可能な値:

  • 0 — ORDER BY最適化無効。
  • 1 — ORDER BY最適化有効。

参照

optimize_read_in_window_order

タイプ: Bool

デフォルト値: 1

MergeTreeテーブルでのウィンドウ句におけるORDER BY最適化を有効にします。

optimize_redundant_functions_in_order_by

タイプ: Bool

デフォルト値: 1

ORDER BY内の引数がORDER BYに含まれている場合、ORDER BYから関数を削除します。

optimize_respect_aliases

タイプ: Bool

デフォルト値: 1

この設定がtrueに設定されている場合、WHERE/GROUP BY/ORDER BY内のエイリアスを尊重し、パーティションプルーニング/セカンダリインデックス/optimize_aggregation_in_order/optimize_read_in_order/optimize_trivial_countで助けになります。

optimize_rewrite_aggregate_function_with_if

タイプ: Bool

デフォルト値: 1

論理的に等しい場合、if式を引数とする集計関数を再記述します。たとえば、avg(if(cond, col, null))avgOrNullIf(cond, col)に再記述できます。性能を改善する可能性があります。

:::note これは分析器(enable_analyzer = 1)でのみサポートされます。 :::

optimize_rewrite_array_exists_to_has

タイプ: Bool

デフォルト値: 0

論理的に等しい場合、arrayExists()関数をhas()に再記述します。たとえば、arrayExists(x -> x = 1, arr)はhas(arr, 1)に再記述できます。

optimize_rewrite_sum_if_to_count_if

タイプ: Bool

デフォルト値: 1

論理的に等しい場合、sumIf()およびsum(if())関数をcountIf()関数に再記述します。

optimize_skip_merged_partitions

タイプ: Bool

デフォルト値: 0

一つのパーティションにアクティブなパーツが1つだけあり、期限切れのTTLがない場合に、OPTIMIZE TABLE ... FINALクエリのための最適化を有効または無効にします。

  • OPTIMIZE TABLE ... FINAL SETTINGS optimize_skip_merged_partitions=1

デフォルトでは、OPTIMIZE TABLE ... FINALクエリは、単一の部分があっても書き換えられます。

可能な値:

  • 1 - 最適化有効。
  • 0 - 最適化無効。

optimize_skip_unused_shards

タイプ: Bool

デフォルト値: 0

WHERE/PREWHEREの条件にsharding keyが含まれているSELECTクエリに対して未使用のシャードのスキップを有効または無効にしますデータがsharding keyによって分散されていると仮定。さもなければ、クエリは不正確な結果を返します。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

optimize_skip_unused_shards_limit

タイプ: UInt64

デフォルト値: 1000

sharding key値の制限で、制限に達することによってoptimize_skip_unused_shardsをオフにします。

あまりにも多くの値があると処理に多大な時間がかかる可能性がありますが、利益は疑わしいです。なぜなら、IN (...)内に大量の値がある場合、ほとんどの場合、クエリはすべてのシャードに送信されるためです。

optimize_skip_unused_shards_nesting

タイプ: UInt64

デフォルト値: 0

分散クエリのネストレベルに応じてoptimize_skip_unused_shardsを制御します(たとえば、別のDistributedテーブルを参照するDistributedテーブルがある場合)。

可能な値:

  • 0 — 無効、optimize_skip_unused_shardsは常に動作します。
  • 1 — 最初のレベルに対してのみoptimize_skip_unused_shardsを有効にします。
  • 2 — 2番目のレベルまでoptimize_skip_unused_shardsを有効にします。

optimize_skip_unused_shards_rewrite_in

タイプ: Bool

デフォルト値: 1

リモートシャードのクエリ内のINを再記述し、シャードに属さない値を除外しますoptimize_skip_unused_shardsが必要です)。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

optimize_sorting_by_input_stream_properties

タイプ: Bool

デフォルト値: 1

入力ストリームのプロパティによるソートを最適化します。

optimize_substitute_columns

タイプ: Bool

デフォルト値: 0

制約を使用してカラムの代替を行います。デフォルト値はfalseです。

可能な値:

  • true, false

optimize_syntax_fuse_functions

タイプ: Bool

デフォルト値: 0

同一引数を持つ集計関数を融合させます。これは、sumcount、またはavgの同一引数を持つ少なくとも2つの集計関数をsumCountに書き換えます。

可能な値:

  • 0 — 同一引数を持つ関数は融合されない。
  • 1 — 同一引数を持つ関数は融合される。

クエリ:

CREATE TABLE fuse_tbl(a Int8, b Int8) Engine = Log;
SET optimize_syntax_fuse_functions = 1;
EXPLAIN SYNTAX SELECT sum(a), sum(b), count(b), avg(b) from fuse_tbl FORMAT TSV;

結果:

SELECT
    sum(a),
    sumCount(b).1,
    sumCount(b).2,
    (sumCount(b).1) / (sumCount(b).2)
FROM fuse_tbl

optimize_throw_if_noop

タイプ: Bool

デフォルト値: 0

マージを実行しなかった場合、OPTIMIZEクエリが例外をスローするかどうかを有効または無効にします。

デフォルトでは、OPTIMIZEは何も行わなかった場合でも正常に戻ります。この設定を使用すると、これらの状況を区別し、例外メッセージで理由を取得できます。

可能な値:

  • 1 — 例外をスローすることを有効にします。
  • 0 — 例外をスローすることを無効にします。

optimize_time_filter_with_preimage

タイプ: Bool

デフォルト値: 1

変換なしで関数を同等の比較に変換することによって、日付および日時の述語を最適化しますtoYear(col) = 2023 -> col >= '2023-01-01' AND col <= '2023-12-31')。

optimize_trivial_approximate_count_query

タイプ: Bool

デフォルト値: 0

この最適化をサポートするストレージのトリビアルカウントの近似値を使用します。たとえば、EmbeddedRocksDB。

可能な値:

  • 0 — 最適化無効。
  • 1 — 最適化有効。

optimize_trivial_count_query

タイプ: Bool

デフォルト値: 1

MergeTreeのメタデータを使用して、テーブルからSELECT count()のトリビアルクエリの最適化を有効または無効にします。行レベルのセキュリティを使用する必要がある場合は、この設定を無効にしてください。

可能な値:

  • 0 — 最適化無効。
  • 1 — 最適化有効。

参照:

optimize_trivial_insert_select

タイプ: Bool

デフォルト値: 0

トリビアルな'INSERT INTO table SELECT ... FROM TABLES'クエリを最適化します。

optimize_uniq_to_count

タイプ: Bool

デフォルト値: 1

uniqおよびそのバリアントuniqUpToを除くを、サブクエリにdistinctまたはgroup by句がある場合にcountに書き換えます。

optimize_use_implicit_projections

タイプ: Bool

デフォルト値: 1

SELECTクエリを実行するために暗黙の投影を自動的に選択します。

optimize_use_projections

タイプ: Bool

デフォルト値: 1

SELECTクエリを処理する際のプロジェクション最適化を有効または無効にします。

可能な値:

  • 0 — プロジェクション最適化無効。
  • 1 — プロジェクション最適化有効。

optimize_using_constraints

タイプ: Bool

デフォルト値: 0

クエリ最適化のために制約を使用します。デフォルトではfalseです。

可能な値:

  • true, false

os_thread_priority

タイプ: Int64

デフォルト値: 0

クエリを実行するスレッドの優先度(nice)を設定します。OSスケジューラーは、この優先度を考慮して、各利用可能なCPUコアで次に実行するスレッドを選択します。

:::note この設定を使用するには、CAP_SYS_NICE の能力を設定する必要があります。clickhouse-serverパッケージは、インストール中にこれを設定します。一部の仮想環境では、CAP_SYS_NICEの設定が許可されていません。この場合、clickhouse-serverは起動時にそのメッセージを表示します。 :::

可能な値:

  • 値は[-20, 19]の範囲で設定できます。

値が低いほど、優先度が高くなります。優先度の低いniceのスレッドは、優先度の高いスレッドよりも頻繁に実行されます。高い値は、長期間実行される非対話型クエリに好ましいです。なぜなら、これにより、短期間の対話型クエリが到着したときに、リソースをすばやく譲渡できるからです。

output_format_compression_level

タイプ: UInt64

デフォルト値: 3

クエリ出力が圧縮されている場合のデフォルトの圧縮レベル。この設定は、SELECTクエリがINTO OUTFILEを持っている場合、またはテーブル関数fileurlhdfss3、またはazureBlobStorageに書き込む場合に適用されます。

可能な値1から22まで。

output_format_compression_zstd_window_log

タイプ: UInt64

デフォルト値: 0

出力圧縮メソッドがzstdの場合に使用できます。0より大きい場合、この設定は圧縮ウィンドウのサイズ2の冪を明示的に設定し、zstd圧縮のロングレンジモードを有効にします。これにより、圧縮率が向上する可能性があります。

可能な値:非負の数。ただし、値が小さすぎるか大きすぎると、zstdlibは例外をスローします。典型的な値は20(ウィンドウサイズ=1MB)から30(ウィンドウサイズ=1GB)までです。

output_format_parallel_formatting

タイプ: Bool

デフォルト値: 1

データフォーマットの並列フォーマットを有効または無効にします。サポートされるのは、TSVTSKVCSVおよびJSONEachRowフォーマットのみです。

可能な値:

  • 1 — 有効。
  • 0 — 無効。

page_cache_inject_eviction

タイプ: Bool

デフォルト値: 0

ユーザースペースのページキャッシュは、ランダムにいくつかのページを無効にする場合があります。テスト用です。

parallel_distributed_insert_select

タイプ: UInt64

デフォルト値: 0

並列分散INSERT ... SELECTクエリを有効にします。

INSERT INTO distributed_table_a SELECT ... FROM distributed_table_bクエリを実行した場合、両方のテーブルが同じクラスタを使用し、両方のテーブルがレプリケートされたまたは非レプリケートである場合、このクエリは各シャードでローカルに処理されます。

可能な値:

  • 0 — 無効。
  • 1 — SELECTが分散エンジンの基になるテーブルの各シャードで実行されます。
  • 2 — SELECTおよびINSERTが分散エンジンの基になるテーブルの各シャードで実行されます。

parallel_replica_offset

タイプ: UInt64

デフォルト値: 0

これは内部設定であり、直接使用すべきではなく、'parallel replicas'モードの実装の詳細を表します。この設定は、並列レプリカの中でクエリ処理に参加しているレプリカのインデックスを示すために、分散クエリのイニシエーターサーバーによって自動的に設定されます。

parallel_replicas_allow_in_with_subquery

タイプ: Bool

デフォルト値: 1

trueの場合、INのサブクエリはすべてのフォロワーレプリカで実行されます。

parallel_replicas_count

タイプ: UInt64

デフォルト値: 0

これは内部設定であり、直接使用すべきではなく、'parallel replicas'モードの実装の詳細を表します。この設定は、分散クエリのイニシエーターサーバーによって、クエリ処理に参加する並列レプリカの数を自動的に設定されます。

parallel_replicas_custom_key

タイプ: String

デフォルト値:

特定のテーブル間でレプリカ間の作業を分割するために使用できる任意の整数式。 値は任意の整数式を取ることができます。

主キーを使用した単純な式が推奨されます。

この設定が、複数のレプリカを持つ単一のシャードで構成されるクラスタで使用されている場合、これらのレプリカは仮想シャードに変換されます。 そうでなければ、それはSAMPLEキーと同じように動作し、各シャードの複数のレプリカを使用します。

parallel_replicas_custom_key_range_lower

タイプ: UInt64

デフォルト値: 0

フィルタータイプrangeがカスタム範囲[parallel_replicas_custom_key_range_lower, INT_MAX]に基づいてレプリカ間で作業を均等に分割できるようにします。

parallel_replicas_custom_key_range_upperと併用することで、カスタムキー範囲に基づいてレプリカ間で作業を均等に分割することができます。

注意:この設定は、クエリ処理中に追加のデータがフィルタリングされることはなく、並列処理のために範囲[0, INT_MAX]が分割されるポイントを変更します。

parallel_replicas_custom_key_range_upper

タイプ: UInt64

デフォルト値: 0

フィルタータイプrangeがカスタム範囲[0, parallel_replicas_custom_key_range_upper]に基づいてレプリカ間で作業を均等に分割できるようにします。0の値は上限を無効にし、カスタムキー式の最大値を設定します。

parallel_replicas_custom_key_range_lowerと併用することで、カスタムキー範囲[parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]でレプリカ間で作業を均等に分割できます。

注意:この設定は、クエリ処理中に追加のデータがフィルタリングされることはなく、並列処理のために範囲[0, INT_MAX]が分割されるポイントを変更します。

parallel_replicas_for_non_replicated_merge_tree

タイプ: Bool

デフォルト値: 0

trueの場合、ClickHouseは非レプリケートのMergeTreeテーブルにも並列レプリカアルゴリズムを使用します。

parallel_replicas_local_plan

タイプ: Bool

デフォルト値: 1

ローカルレプリカのためのローカルプランを構築します。

parallel_replicas_mark_segment_size

タイプ: UInt64

デフォルト値: 0

パーツが仮想的にセグメントに分割され、レプリカ間で並列読み取りのために配布されます。この設定は、これらのセグメントのサイズを制御します。確実な場合を除いて変更することはお勧めしません。値は[128; 16384]の範囲であるべきです。

parallel_replicas_min_number_of_rows_per_replica

タイプ: UInt64

デフォルト値: 0

クエリで使用されるレプリカの数を(読み取る推定行数 / min_number_of_rows_per_replicaに制限します。制限は、'max_parallel_replicas'によって引き続き制限されます。

parallel_replicas_mode

タイプ: ParallelReplicasMode

デフォルト値: read_tasks

カスタムキーに対して並列レプリカで使用するフィルタのタイプ。デフォルト - カスタムキーでモジュロ演算を使用する、範囲 - カスタムキーに対して範囲フィルタを使用する。

parallel_replicas_prefer_local_join

タイプ: Bool

デフォルト値: 1

trueの場合、JOINが並列レプリカアルゴリズムで実行でき、右JOIN部分のすべてのストレージが*MergeTreeの場合、ローカルJOINが使用され、GLOBAL JOINの代わりに使用されます。

parallel_replicas_single_task_marks_count_multiplier

タイプ: Float

デフォルト値: 2

コーディネーターから取得する最小マーク数を計算する際に追加される乗数。これは、リモートレプリカにのみ適用されます。

parallel_view_processing

タイプ: Bool

デフォルト値: 0

添付されたビューに対して逐次的ではなく並行してプッシュすることを有効にします。

parallelize_output_from_storages

タイプ: Bool

デフォルト値: 1

ストレージからの読み取りステップの出力を並列化します。これは、可能であれば、ストレージからの読み取りの直後にクエリ処理の並列化を許可します。

parsedatetime_parse_without_leading_zeros

タイプ: Bool

デフォルト値: 1

関数'parseDateTime()'内のフォーマッタ'%c'、'%l'および'%k'は、ゼロ埋めなしで月と時を解析します。

partial_merge_join_left_table_buffer_bytes

タイプ: UInt64

デフォルト値: 0

0でない場合、部分的なマージJOINの左側テーブルのために、左側テーブルのブロックを大きくグループ化します。結合スレッドごとに指定メモリの最大2倍を使用します。

partial_merge_join_rows_in_right_blocks

タイプ: UInt64

デフォルト値: 65536

JOINクエリの部分的マージJOINアルゴリズムで、右側のJOINデータブロックのサイズを制限します。

ClickHouseサーバーは

  1. 右側のJOINデータを指定された行数のブロックに分割します。
  2. 各ブロックをその最小値と最大値でインデックス化します。
  3. 可能であれば準備されたブロックをディスクにアンロードします。

可能な値:

  • 任意の正の整数。推奨される値の範囲:[1000, 100000]。

partial_result_on_first_cancel

タイプ: Bool

デフォルト値: 0

キャンセル後に部分結果を返すことを許可します。

parts_to_delay_insert

タイプ: UInt64

デフォルト値: 0

宛先テーブルにアクティブなパーツが1つのパーティション内に少なくともこの数存在する場合、テーブルへの挿入を人工的に遅延させます。

parts_to_throw_insert

タイプ: UInt64

デフォルト値: 0

宛先テーブルの単一パーティション内にアクティブなパーツがこの数を超える場合、'Too many parts ...'例外をスローします。

periodic_live_view_refresh

タイプ: Seconds

デフォルト値: 60

定期的に更新されたライブビューが強制的にリフレッシュされる間隔。

poll_interval

タイプ: UInt64

デフォルト値: 10

サーバー上のクエリ待機ループで指定された秒数ブロックします。

postgresql_connection_attempt_timeout

タイプ: UInt64

デフォルト値: 2

PostgreSQLエンドポイントへの単一接続試行の秒単位接続タイムアウト。 この値は接続URLのconnect_timeoutパラメータとして渡されます。

postgresql_connection_pool_auto_close_connection

タイプ: Bool

デフォルト値: 0

プールに返す前に接続を閉じます。

postgresql_connection_pool_retries

タイプ: UInt64

デフォルト値: 2

PostgreSQLテーブルエンジンおよびデータベースエンジンに対する接続プールのプッシュ/ポップリトライ数。

postgresql_connection_pool_size

タイプ: UInt64

デフォルト値: 16

PostgreSQLテーブルエンジンおよびデータベースエンジンのための接続プールサイズ。

postgresql_connection_pool_wait_timeout

タイプ: UInt64

デフォルト値: 5000

PostgreSQLテーブルエンジンおよびデータベースエンジンの空のプールに対する接続プールのプッシュ/ポップタイムアウト。デフォルトでは、空のプールの上でブロックします。

prefer_column_name_to_alias

タイプ: Bool

デフォルト値: 0

クエリ式および句内でエイリアスの代わりに元のカラム名を使用するかどうかを有効または無効にします。これは、エイリアスがカラム名と同じである場合に特に重要です。Expression Aliasesを参照してください。この設定を有効にすると、ClickHouseのエイリアス構文ルールはほとんどの他のデータベースエンジンとより互換性が高くなります。

可能な値:

  • 0 — カラム名はエイリアスに置き換えられます。
  • 1 — カラム名はエイリアスに置き換えられません。

有効と無効の違い:

クエリ:

SET prefer_column_name_to_alias = 0;
SELECT avg(number) AS number, max(number) FROM numbers(10);

結果:

Received exception from server (version 21.5.1):
Code: 184. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function avg(number) is found inside another aggregate function in query: While processing avg(number) AS number.

クエリ:

SET prefer_column_name_to_alias = 1;
SELECT avg(number) AS number, max(number) FROM numbers(10);

結果:

┌─number─┬─max(number)─┐
│    4.5 │           9 │
└────────┴─────────────┘

prefer_external_sort_block_bytes

タイプ: UInt64

デフォルト値: 16744704

外部ソートのための最大ブロックバイトを優先し、マージ時のメモリ使用量を削減します。

prefer_global_in_and_join

タイプ: Bool

デフォルト値: 0

IN/JOIN演算子をGLOBAL IN/GLOBAL JOINに置き換えることを有効または無効にします。

可能な値:

  • 0 — 無効。 IN/JOIN演算子はGLOBAL IN/GLOBAL JOINに置き換えられません。
  • 1 — 有効。 IN/JOIN演算子はGLOBAL IN/GLOBAL JOINに置き換えられます。

使用方法

SET distributed_product_mode=globalが分散テーブルに対するクエリの動作を変更することがありますが、ローカルテーブルや外部リソースのテーブルには適していません。この時にprefer_global_in_and_join設定が登場します。

たとえば、ローカルテーブルが含まれるクエリ処理ノードがあり、これらは分散処理に適していません。GLOBALキーワードを使用して分散処理中にデータをその場で散らばらせる必要があります—GLOBAL IN/GLOBAL JOINを使用します。

`prefer_global_in_and_join`のもう一つの使用例は、外部エンジンによって作成されたテーブルにアクセスすることです。この設定は、そのようなテーブルを結合する際に外部ソースへの呼び出し回数を減らすのに役立ちますクエリごとに1回の呼び出しのみです。

**参照:**

- `GLOBAL IN`/`GLOBAL JOIN`の使用方法についての詳細は、[分散サブクエリ](../../sql-reference/operators/in.md/#select-distributed-subqueries)を参照してください。

## prefer_localhost_replica {#prefer_localhost_replica}

タイプ: Bool

デフォルト値: 1

分散クエリを処理する際に、ローカルホストのレプリカを優先的に使用するかどうかを有効/無効にします。

可能な値:

- 1 — ClickHouseはローカルホストのレプリカが存在する場合、常にクエリをそのレプリカに送信します。
- 0 — ClickHouseは、[load_balancing](#load_balancing)設定で指定されたバランス戦略を使用します。

:::note
[parallel_replicas_custom_key](#parallel_replicas_custom_key)を使用せずに[max_parallel_replicas](#max_parallel_replicas)を使用している場合は、この設定を無効にしてください。
[parallel_replicas_custom_key](#parallel_replicas_custom_key)が設定されている場合、複数のレプリカを含む複数のシャードを持つクラスターで使用する場合にのみ、この設定を無効にしてください。
単一のシャードと複数のレプリカを持つクラスターで使用する場合、この設定を無効にすると悪影響があります。
:::

## prefer_warmed_unmerged_parts_seconds {#prefer_warmed_unmerged_parts_seconds}

タイプ: Int64

デフォルト値: 0

ClickHouse Cloudでのみ利用可能です。マージされていない部分がこの秒数未満で古く、プリウォームされていない場合cache_populated_by_fetchを参照、かつすべてのソース部分が利用可能でプリウォームされている場合、SELECTクエリはそれらの部分から読み取ります。ReplicatedMergeTree専用です。この設定は、CacheWarmerがその部分を処理したかどうかのみをチェックします。もしその部分が他の何かによってキャッシュに取得されていても、CacheWarmerがそれを処理するまで「コールド」と見なされます。もしプリウォームされてキャッシュから排除された場合も、「ウォーム」と見なされます。

## preferred_block_size_bytes {#preferred_block_size_bytes}

タイプ: UInt64

デフォルト値: 1000000

この設定は、クエリ処理のためのデータブロックサイズを調整し、粗い 'max_block_size' 設定に対する追加的な微調整を表します。カラムが大きく、'max_block_size' 行が指定されたバイト数よりも大きい場合、そのサイズはCPUキャッシュの局所性を改善するために低くされます。

## preferred_max_column_in_block_size_bytes {#preferred_max_column_in_block_size_bytes}

タイプ: UInt64

デフォルト値: 0

読み取り時のブロック内の最大カラムサイズの制限です。キャッシュミスの回数を減少させるのに役立ちます。L2キャッシュサイズに近い必要があります。

## preferred_optimize_projection_name {#preferred_optimize_projection_name}

タイプ: String

デフォルト値: 

空でない文字列に設定されている場合、ClickHouseはクエリで指定されたプロジェクションを適用しようとします。

可能な値:

- 文字列: 好みのプロジェクションの名前

## prefetch_buffer_size {#prefetch_buffer_size}

タイプ: UInt64

デフォルト値: 1048576

ファイルシステムから読み取るためのプリフェッチバッファの最大サイズです。

## print_pretty_type_names {#print_pretty_type_names}

タイプ: Bool

デフォルト値: 1

`DESCRIBE`クエリおよび`toTypeName()`関数内で、深くネストされたタイプの名前をインデントを付けて整形して印刷できるようにします。

例:

```sql
CREATE TABLE test (a Tuple(b String, c Tuple(d Nullable(UInt64), e Array(UInt32), f Array(Tuple(g String, h Map(String, Array(Tuple(i String, j UInt64))))), k Date), l Nullable(String))) ENGINE=Memory;
DESCRIBE TABLE test FORMAT TSVRaw SETTINGS print_pretty_type_names=1;
a   Tuple(
    b String,
    c Tuple(
        d Nullable(UInt64),
        e Array(UInt32),
        f Array(Tuple(
            g String,
            h Map(
                String,
                Array(Tuple(
                    i String,
                    j UInt64
                ))
            )
        )),
        k Date
    ),
    l Nullable(String)
)

priority

タイプ: UInt64

デフォルト値: 0

クエリの優先度。1 - 最も高い、値が高いほど優先度は低い0 - 優先度を使用しない。

query_cache_compress_entries

タイプ: Bool

デフォルト値: 1

クエリキャッシュ内のエントリを圧縮します。クエリキャッシュのメモリ消費を抑えますが、挿入や読み取りの速度は低下します。

可能な値:

  • 0 - 無効
  • 1 - 有効

query_cache_max_entries

タイプ: UInt64

デフォルト値: 0

現在のユーザーがクエリキャッシュに格納できるクエリ結果の最大数。0は無制限を意味します。

可能な値:

  • 0以上の正の整数。

query_cache_max_size_in_bytes

タイプ: UInt64

デフォルト値: 0

現在のユーザーがクエリキャッシュに割り当てられる最大メモリ量バイト単位。0は無制限を意味します。

可能な値:

  • 0以上の正の整数。

query_cache_min_query_duration

タイプ: ミリ秒

デフォルト値: 0

クエリの結果をクエリキャッシュに保存するために、クエリが実行されなければならない最小の時間(ミリ秒単位)。

可能な値:

  • 0以上の正の整数。

query_cache_min_query_runs

タイプ: UInt64

デフォルト値: 0

SELECTクエリが結果をクエリキャッシュに保存する前に、実行する必要がある最小回数。

可能な値:

  • 0以上の正の整数。

query_cache_nondeterministic_function_handling

タイプ: QueryCacheNondeterministicFunctionHandling

デフォルト値: throw

非決定論的関数(例えば、rand()now())を含むSELECTクエリに対してクエリキャッシュがどのように処理するかを制御します。

可能な値:

  • 'throw' - 例外をスローし、クエリ結果をキャッシュしない。
  • 'save' - クエリ結果をキャッシュする。
  • 'ignore' - クエリ結果をキャッシュせず、例外をスローしない。

query_cache_share_between_users

タイプ: Bool

デフォルト値: 0

有効にすると、クエリキャッシュにキャッシュされたSELECTクエリの結果を他のユーザーが読み取れるようになります。この設定を有効にすることは、セキュリティ上の理由から推奨されません。

可能な値:

  • 0 - 無効
  • 1 - 有効

query_cache_squash_partial_results

タイプ: Bool

デフォルト値: 1

部分結果ブロックをmax_block_sizeのサイズのブロックに圧縮します。クエリキャッシュへの挿入のパフォーマンスを低下させますが、キャッシュエントリの圧縮性を向上させます(query_cache_compress-entriesを参照)。

可能な値:

  • 0 - 無効
  • 1 - 有効

query_cache_system_table_handling

タイプ: QueryCacheSystemTableHandling

デフォルト値: throw

システムテーブル(すなわち、system.*およびinformation_schema.*データベースのテーブル)に対するSELECTクエリに対して、クエリキャッシュがどのように処理するかを制御します。

可能な値:

  • 'throw' - 例外をスローし、クエリ結果をキャッシュしない。
  • 'save' - クエリ結果をキャッシュする。
  • 'ignore' - クエリ結果をキャッシュせず、例外をスローしない。

query_cache_tag

タイプ: String

デフォルト値:

クエリキャッシュエントリにラベルとして機能する文字列です。同じクエリが異なるタグを持つ場合、クエリキャッシュでは異なるものと見なされます。

可能な値:

  • 任意の文字列

query_cache_ttl

タイプ: 秒

デフォルト値: 60

この時間(秒単位)を経過すると、クエリキャッシュのエントリが古くなります。

可能な値:

  • 0以上の正の整数。

query_metric_log_interval

タイプ: Int64

デフォルト値: -1

個々のクエリに対するquery_metric_logの収集間隔(ミリ秒単位)です。

任意の負の値に設定された場合、query_metric_log設定からcollect_interval_millisecondsの値を使用するか、存在しない場合は1000にデフォルトされます。

単一クエリの収集を無効にするには、query_metric_log_intervalを0に設定します。

デフォルト値: -1

query_plan_aggregation_in_order

タイプ: Bool

デフォルト値: 1

集約を順序通りに処理するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_convert_outer_join_to_inner_join

タイプ: Bool

デフォルト値: 1

JOINの後にフィルタが常にデフォルト値をフィルタリングする場合、OUTER JOINをINNER JOINに変換することを許可します。

query_plan_enable_multithreading_after_window_functions

タイプ: Bool

デフォルト値: 1

ウィンドウ関数を評価した後にマルチスレッド処理を可能にします。

query_plan_enable_optimizations

タイプ: Bool

デフォルト値: 1

クエリプランレベルでのクエリ最適化を切り替えます。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - クエリプランレベルでのすべての最適化を無効
  • 1 - クエリプランレベルでの最適化を有効(ただし、個々の最適化は個別の設定で無効にされる可能性があります)

query_plan_execute_functions_after_sorting

タイプ: Bool

デフォルト値: 1

ソート処理の後に式を移動するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_filter_push_down

タイプ: Bool

デフォルト値: 1

実行プランでフィルタを下に移動するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_lift_up_array_join

タイプ: Bool

デフォルト値: 1

ARRAY JOINを実行プランの上部に移動するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_lift_up_union

タイプ: Bool

デフォルト値: 1

クエリプランの大きな部分木を一つのユニオンに移動するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_max_optimizations_to_apply

タイプ: UInt64

デフォルト値: 10000

クエリプランに適用される最適化の総数を制限します。query_plan_enable_optimizations設定を参照してください。 複雑なクエリについて長時間の最適化を避けるのに役立ちます。 この設定を超える最適化の実際の数がある場合、例外がスローされます。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

query_plan_merge_expressions

タイプ: Bool

デフォルト値: 1

連続するフィルタをマージするクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_merge_filters

タイプ: Bool

デフォルト値: 0

クエリプラン内のフィルタをマージすることを許可します。

query_plan_optimize_prewhere

タイプ: Bool

デフォルト値: 1

サポートされているストレージのためにフィルタをPREWHERE式にプッシュダウンすることを許可します。

query_plan_push_down_limit

タイプ: Bool

デフォルト値: 1

実行プランでLIMITを下に移動するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_read_in_order

タイプ: Bool

デフォルト値: 1

順序通りに読み取る最適化クエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_remove_redundant_distinct

タイプ: Bool

デフォルト値: 1

冗長なDISTINCTステップを削除するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_remove_redundant_sorting

タイプ: Bool

デフォルト値: 1

冗長なソートステップを削除するクエリプランレベルの最適化を切り替えます(例えば、サブクエリ内など)。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_reuse_storage_ordering_for_window_functions

タイプ: Bool

デフォルト値: 1

ウィンドウ関数のソート時にストレージソートを再使用するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

可能な値:

  • 0 - 無効
  • 1 - 有効

query_plan_split_filter

タイプ: Bool

デフォルト値: 1

:::note これは専門家レベルの設定であり、開発者によるデバッグのためにのみ使用するべきです。この設定は、将来的に後方互換性のない方法で変更されたり、削除されたりする可能性があります。 :::

フィルタを式に分割するクエリプランレベルの最適化を切り替えます。設定query_plan_enable_optimizationsが1の場合にのみ効果があります。

可能な値:

  • 0 - 無効
  • 1 - 有効

query_profiler_cpu_time_period_ns

タイプ: UInt64

デフォルト値: 1000000000

クエリプロファイラのCPUクロックタイマーの期間を設定します。このタイマーはCPU時間のみをカウントします。

可能な値:

  • 正の整数のナノ秒。

    推奨値:

          - 単一クエリに対しては10000000秒に100回のナ秒以上。
          - クラスター全体のプロファイリングには10000000001秒に1回
  • タイマーをオフにするには0。

ClickHouse Cloudでは一時的に無効です。

参照:

query_profiler_real_time_period_ns

タイプ: UInt64

デフォルト値: 1000000000

クエリプロファイラの実際のクロックタイマーの期間を設定します。実際のクロックタイマーは壁時計時間をカウントします。

可能な値:

  • 正の整数数(ナノ秒)。

    推奨値:

          - 単一クエリに対しては10000000秒に100回秒未満。
          - クラスター全体のプロファイリングには10000000001秒に1回
  • タイマーをオフにするには0。

ClickHouse Cloudでは一時的に無効です。

参照:

queue_max_wait_ms

タイプ: ミリ秒

デフォルト値: 0

同時リクエストの数が最大を超えた場合の、リクエストキュー内の待機時間です。

rabbitmq_max_wait_ms

タイプ: ミリ秒

デフォルト値: 5000

リトライ前にRabbitMQから読み取る際の待機時間です。

read_backoff_max_throughput

タイプ: UInt64

デフォルト値: 1048576

遅い読み取りが発生した場合にスレッドの数を減らすための設定です。読み取り帯域幅がこのバイト数/秒を下回るイベントをカウントします。

read_backoff_min_concurrency

タイプ: UInt64

デフォルト値: 1

遅い読み取りが発生した場合に最小限のスレッド数を維持しようとする設定です。

read_backoff_min_events

タイプ: UInt64

デフォルト値: 2

遅い読み取りが発生した場合にスレッドの数を減らすための設定です。スレッド数を減少させる前にカウントされるイベント数です。

read_backoff_min_interval_between_events_ms

タイプ: ミリ秒

デフォルト値: 1000

遅い読み取りが発生した場合にスレッドの数を減らすための設定です。前のイベントが一定の時間未満しか経過していない場合、そのイベントを無視します。

read_backoff_min_latency_ms

タイプ: ミリ秒

デフォルト値: 1000

遅い読み取りが発生した場合にスレッドの数を減らすための設定です。この時間以上かかる読み取りのみに注意します。

read_from_filesystem_cache_if_exists_otherwise_bypass_cache

タイプ: Bool

デフォルト値: 0

ファイルシステムキャッシュを受動モードで使用することを許可します - 既存のキャッシュエントリからの利益を得るが、新しいエントリをキャッシュに入れません。この設定を重いアドホッククエリに設定し、短いリアルタイムクエリに対して無効にすることで、過度のクエリによるキャッシュのスラッシングを避け、全体のシステム効率を改善できます。

read_from_page_cache_if_exists_otherwise_bypass_cache

タイプ: Bool

デフォルト値: 0

受動モードでユーザースペースのページキャッシュを使用します。read_from_filesystem_cache_if_exists_otherwise_bypass_cacheに類似しています。

read_in_order_two_level_merge_threshold

タイプ: UInt64

デフォルト値: 100

プライマリキーの順序で複数スレッドで読み取る際にプレリミナリマージステップを実行するために読み取る必要がある部分の最小数です。

read_in_order_use_buffering

タイプ: Bool

デフォルト値: 1

プライマリキーの順序で読み取る際にマージ前にバッファリングを使用します。クエリ実行の並列性が向上します。

read_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた場合の処理の方法です。

read_overflow_mode_leaf

タイプ: OverflowMode

デフォルト値: throw

リーフ制限を超えた場合の処理の方法です。

read_priority

タイプ: Int64

デフォルト値: 0

ローカルファイルシステムまたはリモートファイルシステムからデータを読み取る優先度。ローカルファイルシステムのpread_threadpoolメソッドとリモートファイルシステムのthreadpoolメソッドに対してのみサポートされています。

read_through_distributed_cache

タイプ: Bool

デフォルト値: 0

ClickHouse Cloudでのみ。分散キャッシュからの読み取りを許可します。

readonly

タイプ: UInt64

デフォルト値: 0

0 - 読み取り専用制限なし。1 - 読み取りリクエストのみ、および明示的に許可された設定のみ変更可能。2 - 読み取りリクエストのみ、および設定を変更可能('readonly'設定を除く)。

receive_data_timeout_ms

タイプ: ミリ秒

デフォルト値: 2000

最初のデータパケットまたはレプリカからの進行状況を示すパケットを受信するための接続タイムアウトです。

receive_timeout

タイプ: 秒

デフォルト値: 300

ネットワークからデータを受信するためのタイムアウト(秒単位)。この間にバイトが受信されなかった場合、例外がスローされます。クライアントでこの設定を設定すると、ソケットの'send_timeout'もサーバーの対応する接続の終端で設定されます。

regexp_max_matches_per_row

タイプ: UInt64

デフォルト値: 1000

行ごとに単一の正規表現の最大マッチ数を設定します。extractAllGroupsHorizontal関数で欲張りな正規表現を使用する際のメモリ過負荷から保護するために使用します。

可能な値:

  • 正の整数。

reject_expensive_hyperscan_regexps

タイプ: Bool

デフォルト値: 1

ハイパースキャンで評価するのが高コストになると考えられるパターンを拒否しますNFA状態の爆発による

remerge_sort_lowered_memory_bytes_ratio

タイプ: Float

デフォルト値: 2

再マージ後のメモリ使用量がこの比率で減少しない場合、再マージは無効化されます。

remote_filesystem_read_method

タイプ: String

デフォルト値: threadpool

リモートファイルシステムからデータを読み取る方法。readまたはthreadpoolのいずれか。

remote_filesystem_read_prefetch

タイプ: Bool

デフォルト値: 1

リモートファイルシステムからデータを読み取る際にプリフェッチを使用すべきかどうかを示します。

remote_fs_read_backoff_max_tries

タイプ: UInt64

デフォルト値: 5

バックオフのための最大読み取り試行回数です。

remote_fs_read_max_backoff_ms

タイプ: UInt64

デフォルト値: 10000

リモートディスクからデータを読み取ろうとする際の最大待機時間です。

remote_read_min_bytes_for_seek

タイプ: UInt64

デフォルト値: 4194304

リモート読み取りURL、S3でseekを実行するために必要な最小バイト数であり、無視して読み取らずに実行します。

rename_files_after_processing

タイプ: String

デフォルト値:

  • タイプ: String

  • デフォルト値: 空の文字列

この設定により、fileテーブル関数によって処理されたファイルのリネームパターンを指定できます。オプションが設定されると、fileテーブル関数によって読み取られたすべてのファイルは、処理が成功した場合に指定されたパターンに従ってプレースホルダ付きでリネームされます。

プレースホルダ

  • %a — 完全な元のファイル名(例: "sample.csv")。
  • %f — 拡張子なしの元のファイル名(例: "sample")。
  • %e — 元のファイルの拡張子(例: ".csv")。
  • %t — タイムスタンプ(マイクロ秒)。
  • %% — パーセント記号 ("%")。

  • オプション: --rename_files_after_processing="processed_%f_%t%e"

  • クエリ: SELECT * FROM file('sample.csv')

sample.csvの読み取りが成功した場合、ファイルはprocessed_sample_1683473210851438.csvにリネームされます。

replace_running_query

タイプ: Bool

デフォルト値: 0

HTTPインターフェースを使用する際、'query_id'パラメータを渡すことができます。これは、クエリの識別子として機能する任意の文字列です。 この時、同じユーザーから同じ'query_id'のクエリがすでに存在する場合、動作は'replace_running_query'パラメータによって異なります。

0(デフォルト) 例外をスローし、同じ'query_id'のクエリがすでに実行中の場合、そのクエリを実行できません。

1 古いクエリをキャンセルし、新しいクエリを実行し始めます。

このパラメータを1に設定するとセグメンテーション条件の提案を実装することができます。次の文字を入力すると、古いクエリがまだ完了していなければキャンセルされるべきです。

replace_running_query_max_wait_ms

タイプ: ミリ秒

デフォルト値: 5000

replace_running_query設定がアクティブな場合、同じquery_idのクエリを実行するのを待つための時間です。

可能な値:

  • 正の整数。
  • 0 — 同じquery_idのクエリが既に実行されている場合、新しいクエリを実行することを許可しない例外をスローします。

replication_wait_for_inactive_replica_timeout

タイプ: Int64

デフォルト値: 120

非アクティブなレプリカがALTEROPTIMIZE、またはTRUNCATEクエリを実行するのを待つ時間(秒単位)を指定します。

可能な値:

  • 0 — 待機しない。
  • 負の整数 — 無制限に待機。
  • 正の整数 — 待機する秒数。

restore_replace_external_dictionary_source_to_null

タイプ: Bool

デフォルト値: 0

復元時に外部DictionaryソースをNullに置き換えます。テスト目的に有用です。

restore_replace_external_engines_to_null

タイプ: Bool

デフォルト値: 0

テスト目的のため。すべての外部エンジンをNullに置き換え、外部接続を開始しないようにします。

restore_replace_external_table_functions_to_null

タイプ: Bool

デフォルト値: 0

テスト目的のため。すべての外部テーブル関数をNullに置き換え、外部接続を開始しないようにします。

result_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた場合の処理の方法です。

rewrite_count_distinct_if_with_count_distinct_implementation

タイプ: Bool

デフォルト値: 0

countDistcintIfcount_distinct_implementation設定で書き換えることを許可します。

可能な値:

  • true — 許可。
  • false — 不許可。

s3_allow_parallel_part_upload

タイプ: Bool

デフォルト値: 1

S3のマルチパートアップロードに複数スレッドを使用します。これにより、わずかにメモリ使用量が増加する可能性があります。

s3_check_objects_after_upload

タイプ: Bool

デフォルト値: 0

アップロードが成功したことを確認するために、HEADリクエストでアップロードされた各オブジェクトをS3にチェックします。

s3_connect_timeout_ms

タイプ: UInt64

デフォルト値: 1000

S3ディスクのホストへの接続タイムアウトです。

s3_create_new_file_on_insert

タイプ: Bool

デフォルト値: 0

S3エンジンテーブルへの各挿入時に新しいファイルを作成するかどうかを有効または無効にします。有効にすると、各挿入で次のパターンに似た新しいS3オブジェクトが作成されます

初期: data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gzなど。

可能な値:

  • 0 — INSERTクエリはファイルの最後に新しいデータを追加します。
  • 1 — INSERTクエリは新しいファイルを作成します。

s3_disable_checksum

タイプ: Bool

デフォルト値: 0

ファイルをS3に送信する際にチェックサムを計算しない。これにより、ファイルに過剰な処理がかかるのを避け、書き込み速度が向上します。MergeTreeテーブルのデータはClickHouseによってすでにチェックサムされているため、主に安全です。また、S3にHTTPSでアクセスする場合、TLSレイヤーはネットワークを介しての転送中に整合性を提供します。S3に追加のチェックサムを計算することで、深層防御を提供します。

s3_ignore_file_doesnt_exist

タイプ: Bool

デフォルト値: 0

特定のキーを読み取るときにファイルが存在しない場合の無視動作です。

可能な値:

  • 1 — SELECTは空の結果を返します。
  • 0 — SELECTは例外をスローします。

s3_list_object_keys_size

タイプ: UInt64

デフォルト値: 1000

ListObjectリクエストによってバッチで返される可能性のある最大ファイル数です。

s3_max_connections

タイプ: UInt64

デフォルト値: 1024

サーバーごとの最大接続数です。

s3_max_get_burst

タイプ: UInt64

デフォルト値: 0

リクエストごとの秒の制限に達する前に同時に発行できるリクエストの最大数。デフォルト0s3_max_get_rpsに等しいです。

s3_max_get_rps

タイプ: UInt64

デフォルト値: 0

スロットリングの前のS3 GETリクエストの毎秒の制限。ゼロは無限を意味します。

s3_max_inflight_parts_for_one_file

タイプ: UInt64

デフォルト値: 20

マルチパートアップロードリクエストで同時に読み込まれる部分の最大数。0は無制限を意味します。

s3_max_part_number

タイプ: UInt64

デフォルト値: 10000

```html
最大部分番号数のs3アップロード部分。

## s3_max_put_burst {#s3_max_put_burst}

タイプ: UInt64

デフォルト値: 0

リクエスト毎秒制限に達する前に同時に発行できる最大リクエスト数。デフォルト値は0は`s3_max_put_rps`と等しい。

## s3_max_put_rps {#s3_max_put_rps}

タイプ: UInt64

デフォルト値: 0

スロットリング前のS3 PUTリクエスト毎秒の制限。ゼロは無制限を意味します。

## s3_max_redirects {#s3_max_redirects}

タイプ: UInt64

デフォルト値: 10

許可される最大S3リダイレクトホップ数。

## s3_max_single_operation_copy_size {#s3_max_single_operation_copy_size}

タイプ: UInt64

デフォルト値: 33554432

s3における単一コピー操作の最大サイズ。

## s3_max_single_part_upload_size {#s3_max_single_part_upload_size}

タイプ: UInt64

デフォルト値: 33554432

S3に対して単一部分アップロードを使用してアップロードするオブジェクトの最大サイズ。

## s3_max_single_read_retries {#s3_max_single_read_retries}

タイプ: UInt64

デフォルト値: 4

単一のS3読み取り中の最大リトライ回数。

## s3_max_unexpected_write_error_retries {#s3_max_unexpected_write_error_retries}

タイプ: UInt64

デフォルト値: 4

S3書き込み中の予期しないエラーが発生した場合の最大リトライ回数。

## s3_max_upload_part_size {#s3_max_upload_part_size}

タイプ: UInt64

デフォルト値: 5368709120

マルチパートアップロード中にS3にアップロードする部分の最大サイズ。

## s3_min_upload_part_size {#s3_min_upload_part_size}

タイプ: UInt64

デフォルト値: 16777216

マルチパートアップロード中にS3にアップロードする部分の最小サイズ。

## s3_request_timeout_ms {#s3_request_timeout_ms}

タイプ: UInt64

デフォルト値: 30000

S3とのデータの送受信に関するアイドリングタイムアウト。単一のTCP読み取りまたは書き込み呼び出しがこの時間ブロックされると失敗します。

## s3_retry_attempts {#s3_retry_attempts}

タイプ: UInt64

デフォルト値: 100

Aws::Client::RetryStrategyの設定。Aws::Clientは自動的にリトライを行い、0はリトライなしを意味します。

## s3_skip_empty_files {#s3_skip_empty_files}

タイプ: Bool

デフォルト値: 0

[S3](../../engines/table-engines/integrations/s3.md)エンジンテーブルで空のファイルをスキップするかどうかの設定。

可能な値:
- 0 — 空のファイルが要求された形式と互換性がない場合、`SELECT`は例外をスローします。
- 1 — 空のファイルに対して空の結果を返します。

## s3_strict_upload_part_size {#s3_strict_upload_part_size}

タイプ: UInt64

デフォルト値: 0

マルチパートアップロード中にS3にアップロードする部分の正確なサイズいくつかの実装は可変サイズ部分をサポートしていません。

## s3_throw_on_zero_files_match {#s3_throw_on_zero_files_match}

タイプ: Bool

デフォルト値: 0

ListObjectsリクエストがファイルに一致しない場合にエラーをスローします。

## s3_truncate_on_insert {#s3_truncate_on_insert}

タイプ: Bool

デフォルト値: 0

s3エンジンテーブルへの挿入の前にトランケートを有効または無効にします。無効にすると、既にS3オブジェクトが存在する場合、挿入試行時に例外がスローされます。

可能な値:
- 0 — `INSERT`クエリはファイルの末尾に新しいデータを追加します。
- 1 — `INSERT`クエリはファイルの既存の内容を新しいデータで置き換えます。

## s3_upload_part_size_multiply_factor {#s3_upload_part_size_multiply_factor}

タイプ: UInt64

デフォルト値: 2

s3_multiply_parts_count_thresholdからの単一書き込みでアップロードされた各回のs3_min_upload_part_sizeをこの係数で掛けます。

## s3_upload_part_size_multiply_parts_count_threshold {#s3_upload_part_size_multiply_parts_count_threshold}

タイプ: UInt64

デフォルト値: 500

この数の部分がS3にアップロードされるたびに、s3_min_upload_part_sizeはs3_upload_part_size_multiply_factorで乗算されます。

## s3_use_adaptive_timeouts {#s3_use_adaptive_timeouts}

タイプ: Bool

デフォルト値: 1

`true`に設定すると、すべてのs3リクエストに対して最初の2回の試行が低い送信および受信タイムアウトで行われます。
`false`に設定すると、すべての試行が同一のタイムアウトで行われます。

## s3_validate_request_settings {#s3_validate_request_settings}

タイプ: Bool

デフォルト値: 1

s3リクエスト設定の検証を有効にします。

可能な値:
- 1 — 設定を検証します。
- 0 — 設定を検証しません。

## s3queue_default_zookeeper_path {#s3queue_default_zookeeper_path}

タイプ: String

デフォルト値: /clickhouse/s3queue/

S3QueueエンジンのデフォルトのZooKeeperパスプレフィックス。

## s3queue_enable_logging_to_s3queue_log {#s3queue_enable_logging_to_s3queue_log}

タイプ: Bool

デフォルト値: 0

system.s3queue_logへの書き込みを有効にします。この値はテーブル設定で上書きできます。

## schema_inference_cache_require_modification_time_for_url {#schema_inference_cache_require_modification_time_for_url}

タイプ: Bool

デフォルト値: 1

最終変更時刻の検証が必要なURLのキャッシュからスキーマを使用しますLast-Modifiedヘッダーを持つURLの場合。

## schema_inference_use_cache_for_azure {#schema_inference_use_cache_for_azure}

タイプ: Bool

デフォルト値: 1

Azureテーブル関数を使用している間、スキーマ推論でキャッシュを使用します。

## schema_inference_use_cache_for_file {#schema_inference_use_cache_for_file}

タイプ: Bool

デフォルト値: 1

ファイルテーブル関数を使用している間、スキーマ推論でキャッシュを使用します。

## schema_inference_use_cache_for_hdfs {#schema_inference_use_cache_for_hdfs}

タイプ: Bool

デフォルト値: 1

HDFSテーブル関数を使用している間、スキーマ推論でキャッシュを使用します。

## schema_inference_use_cache_for_s3 {#schema_inference_use_cache_for_s3}

タイプ: Bool

デフォルト値: 1

S3テーブル関数を使用している間、スキーマ推論でキャッシュを使用します。

## schema_inference_use_cache_for_url {#schema_inference_use_cache_for_url}

タイプ: Bool

デフォルト値: 1

URLテーブル関数を使用している間、スキーマ推論でキャッシュを使用します。

## select_sequential_consistency {#select_sequential_consistency}

タイプ: UInt64

デフォルト値: 0

:::note
この設定はSharedMergeTreeとReplicatedMergeTreeでの挙動が異なります。[SharedMergeTreeの整合性](/docs/ja/cloud/reference/shared-merge-tree/#consistency)を参照して、SharedMergeTreeにおける`select_sequential_consistency`の挙動についての詳細を確認してください。
:::

`SELECT`クエリに対する連続整合性を有効または無効にします。`insert_quorum_parallel`が無効である必要があります(デフォルトでは有効)。

可能な値:

- 0 — 無効。
- 1 — 有効。

使用方法

連続整合性が有効になっている場合、ClickHouseはクライアントが`insert_quorum`で実行されたすべての前回の`INSERT`クエリでデータを含むレプリカに対してのみ`SELECT`クエリを実行することを許可します。クライアントが部分的なレプリカを参照する場合、ClickHouseは例外を生成します。SELECTクエリは、まだレプリカのクォラムに書き込まれていないデータを含めません。

`insert_quorum_parallel`が有効(デフォルト)である場合、`select_sequential_consistency`は機能しません。これは、並行する`INSERT`クエリが異なるレプリカのセットに書き込まれる可能性があるため、単一のレプリカがすべての書き込みを受け取った保証がないからです。

関連情報:

- [insert_quorum](#insert_quorum)
- [insert_quorum_timeout](#insert_quorum_timeout)
- [insert_quorum_parallel](#insert_quorum_parallel)

## send_logs_level {#send_logs_level}

タイプ: LogsLevel

デフォルト値: fatal

指定された最小レベルのサーバーテキストログをクライアントに送信します。有効な値: 'trace', 'debug', 'information', 'warning', 'error', 'fatal', 'none'

## send_logs_source_regexp {#send_logs_source_regexp}

タイプ: String

デフォルト値: 

指定された正規表現に一致するログソース名を持つサーバーテキストログを送信します。空はすべてのソースを意味します。

## send_progress_in_http_headers {#send_progress_in_http_headers}

タイプ: Bool

デフォルト値: 0

`clickhouse-server`のレスポンスに`X-ClickHouse-Progress` HTTPレスポンスヘッダーを有効または無効にします。

詳細については、[HTTPインターフェースの説明](../../interfaces/http.md)を参照してください。

可能な値:

- 0 — 無効。
- 1 — 有効。

## send_timeout {#send_timeout}

タイプ: 秒

デフォルト値: 300

ネットワークへのデータ送信のタイムアウト(秒単位)。クライアントがデータを送信する必要があるが、このインターバル内にバイトを送信できない場合、例外がスローされます。この設定をクライアントで設定すると、ソケットの'receive_timeout'もサーバーの対応する接続側に設定されます。

## session_timezone {#session_timezone}

タイプ: タイムゾーン

デフォルト値: 

現在のセッションまたはクエリの暗黙のタイムゾーンを設定します。
暗黙のタイムゾーンは、明示的に指定されたタイムゾーンがないDateTime/DateTime64型の値に適用されるタイムゾーンです。
この設定は、グローバルに設定された(サーバーレベルの)暗黙のタイムゾーンよりも優先されます。
''(空の文字列)の値は、現在のセッションまたはクエリの暗黙のタイムゾーンが[サーバーのタイムゾーン](../server-configuration-parameters/settings.md#timezone)と等しいことを意味します。

`timeZone()`および`serverTimeZone()`関数を使用して、セッションタイムゾーンとサーバータイムゾーンを取得できます。

可能な値:

- `system.time_zones`からの任意のタイムゾーン名、例えば`Europe/Berlin`、`UTC`、または`Zulu`。

例:

```sql
SELECT timeZone(), serverTimeZone() FORMAT CSV

"Europe/Berlin","Europe/Berlin"
SELECT timeZone(), serverTimeZone() SETTINGS session_timezone = 'Asia/Novosibirsk' FORMAT CSV

"Asia/Novosibirsk","Europe/Berlin"

セッションタイムゾーン'America/Denver'を明示的に指定されていない内側のDateTimeに割り当て:

SELECT toDateTime64(toDateTime64('1999-12-12 23:23:23.123', 3), 3, 'Europe/Zurich') SETTINGS session_timezone = 'America/Denver' FORMAT TSV

1999-12-13 07:23:23.123

:::warning DateTime/DateTime64を解析するすべての関数がsession_timezoneを尊重するわけではありません。これにより微妙なエラーが生じる可能性があります。 以下の例と説明を参照してください。 :::

CREATE TABLE test_tz (`d` DateTime('UTC')) ENGINE = Memory AS SELECT toDateTime('2000-01-01 00:00:00', 'UTC');

SELECT *, timeZone() FROM test_tz WHERE d = toDateTime('2000-01-01 00:00:00') SETTINGS session_timezone = 'Asia/Novosibirsk'
0 rows in set.

SELECT *, timeZone() FROM test_tz WHERE d = '2000-01-01 00:00:00' SETTINGS session_timezone = 'Asia/Novosibirsk'
┌───────────────────d─┬─timeZone()───────┐
 2000-01-01 00:00:00  Asia/Novosibirsk 
└─────────────────────┴──────────────────┘

これは異なる解析パイプラインによるものです:

  • 明示的に与えられたタイムゾーンなしで使用されるtoDateTime()は、最初のSELECTクエリでsession_timezoneとグローバルタイムゾーンの設定を尊重します。
  • 2番目のクエリでは、文字列からDateTimeが解析され、既存のカラムdの型とタイムゾーンを引き継ぎます。したがって、session_timezoneとグローバルタイムゾーンの設定は尊重されません。

関連情報

set_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた際に何をするか。

short_circuit_function_evaluation

タイプ: ShortCircuitFunctionEvaluation

デフォルト値: enable

ifmultiIfand、およびor関数を短絡的に計算できるようにします。これにより、これらの関数内の複雑な式の実行を最適化し、予期しない例外(ゼロ除算など)を防ぐのに役立ちます。

可能な値:

  • enable — 適用可能な関数に対して短絡評価が有効になります(例外をスローする可能性があるか、計算コストの高い場合)。
  • force_enable — すべての関数に対して短絡評価が有効になります。
  • disable — 短絡評価が無効になります。

show_table_uuid_in_table_create_query_if_not_nil

タイプ: Bool

デフォルト値: 0

SHOW TABLEクエリの表示を設定します。

可能な値:

  • 0 — クエリはテーブルUUIDなしで表示されます。
  • 1 — クエリはテーブルUUID付きで表示されます。

single_join_prefer_left_table

タイプ: Bool

デフォルト値: 1

識別子の曖昧さがある場合、単一JOINの場合は左側のテーブルを優先します。

skip_download_if_exceeds_query_cache

タイプ: Bool

デフォルト値: 1

クエリキャッシュサイズを超える場合、リモートファイルシステムからのダウンロードをスキップします。

skip_unavailable_shards

タイプ: Bool

デフォルト値: 0

使用できないシャードを静かにスキップするかどうかを有効または無効にします。

シャードはすべてのレプリカが使用できない場合、使用できないと見なされます。レプリカは以下の状況で使用できません:

  • ClickHouseが何らかの理由でレプリカに接続できない。

    レプリカに接続する際、ClickHouseは何度か試みます。これらのすべての試みが失敗した場合、そのレプリカは使用できないと見なされます。

  • レプリカがDNS経由で解決できない。

    レプリカのホスト名がDNSを介して解決できない場合、次の状況が考えられます:

    • レプリカのホストにDNSレコードがない。これはダイナミックDNSを持つシステムで発生することがあります。たとえば、Kubernetesのように、ノードがダウンタイム中に解決できないことがあるが、これはエラーではありません。

    • 設定エラー。ClickHouseの構成ファイルに誤ったホスト名が含まれています。

可能な値:

  • 1 — スキップが有効。

    シャードが利用できなくなった場合、ClickHouseは部分的なデータに基づいた結果を返し、ードの可用性の問題を報告しません。

  • 0 — スキップが無効。

    シャードが利用できない場合、ClickHouseは例外をスローします。

sleep_after_receiving_query_ms

タイプ: ミリ秒

デフォルト値: 0

TCPHandler内でクエリを受信した後のスリープ時間。

sleep_in_send_data_ms

タイプ: ミリ秒

デフォルト値: 0

TCPHandler内でデータを送信する際のスリープ時間。

sleep_in_send_tables_status_ms

タイプ: ミリ秒

デフォルト値: 0

TCPHandler内でテーブルステータス応答を送信する際のスリープ時間。

sort_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた際に何をするか。

split_intersecting_parts_ranges_into_layers_final

タイプ: Bool

デフォルト値: 1

FINAL最適化中に交差する部分範囲をレイヤーに分割します。

split_parts_ranges_into_intersecting_and_non_intersecting_final

タイプ: Bool

デフォルト値: 1

FINAL最適化中に部分範囲を交差する部分と交差しない部分に分割します。

splitby_max_substrings_includes_remaining_string

タイプ: Bool

デフォルト値: 0

引数max_substrings > 0のsplitBy*()関数が残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。

可能な値:

  • 0 - 残りの文字列は結果配列の最後の要素には含まれません。
  • 1 - 残りの文字列は結果配列の最後の要素に含まれます。これはSparkのsplit()関数やPythonの'string.split()'またはgRPCインターフェースの動作です。

throw_on_error_from_cache_on_write_operations

タイプ: Bool

デフォルト値: 0

書き込み操作中INSERT、マージのキャッシュのエラーを無視します。

throw_on_max_partitions_per_insert_block

タイプ: Bool

デフォルト値: 1

max_partitions_per_insert_blockと共に使用されます。trueデフォルトの場合、max_partitions_per_insert_blockに達したときに例外がスローされます。falseの場合、この限界に達した挿入クエリの詳細がログに記録されます。これは、max_partitions_per_insert_blockを変更した場合のユーザーへの影響を理解するのに役立ちます。

throw_on_unsupported_query_inside_transaction

タイプ: Bool

デフォルト値: 1

トランザクション内でサポートされていないクエリが使用されると例外をスローします。

timeout_before_checking_execution_speed

タイプ: 秒

デフォルト値: 10

指定された時間が経過した後、速度があまりにも低くないことを確認します。

timeout_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた際に何をするか。

timeout_overflow_mode_leaf

タイプ: OverflowMode

デフォルト値: throw

葉制限が超えた際に何をするか。

totals_auto_threshold

タイプ: Float

デフォルト値: 0.5

totals_mode = 'auto'の閾値。 「WITH TOTALS修飾子」セクションを参照してください。

totals_mode

タイプ: TotalsMode

デフォルト値: after_having_exclusive

HAVINGが存在する場合、またはmax_rows_to_group_byおよびgroup_by_overflow_mode = 'any'が存在する場合、どのようにTOTALSを計算するか。 「WITH TOTALS修飾子」セクションを参照してください。

trace_profile_events

タイプ: Bool

デフォルト値: 0

プロファイルイベントの各更新時のスタックトレースを収集し、プロファイルイベントの名前とインクリメントの値を含むことを有効または無効にします。この情報はtrace_logに送信されます。

可能な値:

  • 1 — プロファイルイベントのトレースが有効。
  • 0 — プロファイルイベントのトレースが無効。

transfer_overflow_mode

タイプ: OverflowMode

デフォルト値: throw

制限を超えた際に何をするか。

transform_null_in

タイプ: Bool

デフォルト値: 0

IN演算子に対するNULL値の平等性を有効にします。

デフォルトでは、NULL値は比較できません。なぜなら、NULLは未定義の値を意味するからです。したがって、比較expr = NULLは常にfalseを返さなければなりません。この設定が有効な場合、NULL = NULLIN演算子に対してtrueを返します。

可能な値:

  • 0 — IN演算子におけるNULL値の比較はfalseを返します。
  • 1 — IN演算子におけるNULL値の比較はtrueを返します。

null_inテーブルを考えます:

┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
│    3 │     3 │
└──────┴───────┘

クエリ:

SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 0;

結果:

┌──idx─┬────i─┐
│    1 │    1 │
└──────┴──────┘

クエリ:

SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;

結果:

┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
└──────┴───────┘

関連情報

traverse_shadow_remote_data_paths

タイプ: Bool

デフォルト値: 0

system.remote_data_pathsクエリを実行するときに、実際のテーブルデータに加えて凍結データシャドウディレクトリをトラバースします。

union_default_mode

タイプ: SetOperationMode

デフォルト値:

SELECTクエリの結果を結合するモードを設定します。この設定は、UNIONを使用する際に明示的にUNION ALLまたはUNION DISTINCTを指定しない場合にのみ使用されます。

可能な値:

  • 'DISTINCT' — ClickHouseは重複行を削除し、クエリを結合した結果を出力します。
  • 'ALL' — ClickHouseは重複行を含むすべての行を出力します。
  • '' — ClickHouseはUNIONで使用されたときに例外を生成します。

UNIONの例を参照してください。

unknown_packet_in_send_data

タイプ: UInt64

デフォルト値: 0

N番目のデータパケットの代わりに不明なパケットを送信します。

use_cache_for_count_from_files

タイプ: Bool

デフォルト値: 1

テーブル関数file / s3 / url / hdfs / azureBlobStorageからのカウント時に行数のキャッシュを有効にします。

デフォルトで有効です。

use_client_time_zone

タイプ: Bool

デフォルト値: 0

サーバーのタイムゾーンを採用するのではなく、DateTime文字列値を解釈するためにクライアントタイムゾーンを使用します。

use_compact_format_in_distributed_parts_names

タイプ: Bool

デフォルト値: 1

Distributedエンジンを持つテーブルに対するバックグラウンドdistributed_foreground_insertINSERTのためのブロックを格納するためにコンパクトな形式を使用します。

可能な値:

  • 0 — user[:password]@host:port#default_databaseディレクトリ形式を使用します。
  • 1 — [shard{shard_index}[_replica{replica_index}]]ディレクトリ形式を使用します。

:::note

  • use_compact_format_in_distributed_parts_names=0の場合、クラスタ定義の変更は、バックグラウンドINSERTでは適用されません。
  • use_compact_format_in_distributed_parts_names=1の場合、クラスタ定義のノードの順序を変更すると、shard_index / replica_indexが変更されるため、注意が必要です。 :::

use_concurrency_control

タイプ: Bool

デフォルト値: 1

サーバーの同時実行制御を遵守します(concurrent_threads_soft_limit_numおよびconcurrent_threads_soft_limit_ratio_to_cores グローバルサーバー設定を参照)。無効にすると、サーバーが過負荷であってもより多くのスレッドを使用することができます(通常の使用には推奨されず、主にテストに必要です)。

use_hedged_requests

タイプ: Bool

デフォルト値: 1

リモートクエリのためのヘッジリクエストロジックを有効にします。これにより、クエリのために異なるレプリカと多くの接続を確立することができます。 既存の接続がhedged_connection_timeout内に確立されなかった場合や、receive_data_timeout内にデータが受信されなかった場合に新しい接続が有効になります。クエリは最初に非空の進行状況パケット(またはデータパケット)を送信する接続を使用し、他の接続はキャンセルされます。max_parallel_replicas > 1のクエリもサポートされています。

デフォルトで有効です。

クラウドではデフォルトで無効です。

use_hive_partitioning

タイプ: Bool

デフォルト値: 0

有効にすると、ClickHouseはファイル関連のテーブルエンジンのパス中でのHiveスタイルのパーティショニングを検出します/name=value/)。これにより、クエリ内でパーティション列を仮想列として使用することができます。これらの仮想列は、パーティション化されたパスで同じ名前を持ちますが、_で始まります。

use_index_for_in_with_subqueries

タイプ: Bool

デフォルト値: 1

IN演算子の右側にサブクエリまたはテーブル式がある場合、インデックスを使用してみます。

use_index_for_in_with_subqueries_max_values

タイプ: UInt64

デフォルト値: 0

フィルタリングにテーブルインデックスを使用するためのIN演算子の右側のセットの最大サイズ。これにより、大きなクエリに対して追加のデータ構造の準備によるパフォーマンス劣化と高いメモリ使用を回避できます。ゼロは制限なしを意味します。

use_json_alias_for_old_object_type

タイプ: Bool

デフォルト値: 0

有効にすると、JSONデータ型エイリアスは新しいJSON型の代わりに古いObject('json')型を作成するために使用されます。

use_local_cache_for_remote_storage

タイプ: Bool

デフォルト値: 1

HDFSやS3のようなリモートストレージのためにローカルキャッシュを使用します。この設定はリモートテーブルエンジンのみに使用されます。

use_page_cache_for_disks_without_file_cache

タイプ: Bool

デフォルト値: 0

ファイルキャッシュが有効になっていないリモートディスク用にユーザースペースページキャッシュを使用します。

use_query_cache

タイプ: Bool

デフォルト値: 0

オンになっている場合、SELECTクエリはクエリキャッシュを利用できる可能性があります。enable_reads_from_query_cacheおよびenable_writes_to_query_cacheパラメーターが、キャッシュの使用方法に関してより詳細に制御します。

可能な値:

  • 0 - 無効
  • 1 - 有効

use_skip_indexes

タイプ: Bool

デフォルト値: 1

クエリ実行中にデータスキッピングインデックスを使用します。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

use_skip_indexes_if_final

タイプ: Bool

デフォルト値: 0

FINAL修飾子を使用したクエリを実行する際にスキップインデックスを使用するかどうかを制御します。

デフォルトでは、この設定は無効です。なぜなら、スキップインデックスは、最近のデータを含む行グラニュールを除外する可能性があり、不正確な結果につながる可能性があるからです。有効にすると、FINAL修飾子を持つクエリでもスキップインデックスが適用され、パフォーマンスが向上する可能性がありますが、最近の更新を見逃すリスクがあります。

可能な値:

  • 0 — 無効。
  • 1 — 有効。

use_structure_from_insertion_table_in_table_functions

タイプ: UInt64

デフォルト値: 2

データからのスキーマ推論の代わりに、挿入テーブルからの構造を使用します。可能な値: 0 - 無効、1 - 有効、2 - 自動。

use_uncompressed_cache

タイプ: Bool

デフォルト値: 0

未圧縮ブロックのキャッシュを使用するかどうか。0または1を受け入れます。デフォルトでは0無効。 未圧縮キャッシュの使用MergeTreeファミリのテーブルにのみは、多数の短いクエリを扱う際にレイテンシを大幅に減少させ、スループットを増加させることができます。頻繁に短いリクエストを送信するユーザーにはこの設定を有効にします。また、未圧縮キャッシュブロックのサイズを設定するuncompressed_cache_size構成パラメーターに注意してください(構成ファイル内のみ設定) デフォルトは8GiBです。未圧縮キャッシュは必要に応じて充填され、最も使用されていないデータは自動的に削除されます。

少なくともある程度の大量データ100万行以上を読み取るクエリについては、スペースを節約するために自動的に未圧縮キャッシュが無効になります。つまり、use_uncompressed_cache設定は常に1に設定しておくことができます。

use_variant_as_common_type

タイプ: Bool

デフォルト値: 0

引数型に共通の型がない場合、if/multiIf/array/map関数の結果型としてVariant型を使用することを許可します。

例:

SET use_variant_as_common_type = 1;
SELECT toTypeName(if(number % 2, number, range(number))) as variant_type FROM numbers(1);
SELECT if(number % 2, number, range(number)) as variant FROM numbers(5);
┌─variant_type───────────────────┐
│ Variant(Array(UInt64), UInt64) │
└────────────────────────────────┘
┌─variant───┐
│ []        │
│ 1         │
│ [0,1]     │
│ 3         │
│ [0,1,2,3] │
└───────────┘
SET use_variant_as_common_type = 1;
SELECT toTypeName(multiIf((number % 4) = 0, 42, (number % 4) = 1, [1, 2, 3], (number % 4) = 2, 'Hello, World!', NULL)) AS variant_type FROM numbers(1);
SELECT multiIf((number % 4) = 0, 42, (number % 4) = 1, [1, 2, 3], (number % 4) = 2, 'Hello, World!', NULL) AS variant FROM numbers(4);
─variant_type─────────────────────────┐
│ Variant(Array(UInt8), String, UInt8) │
└──────────────────────────────────────┘

┌─variant───────┐
│ 42            │
│ [1,2,3]       │
│ Hello, World! │
│ ᴺᵁᴸᴸ          │
└───────────────┘
SET use_variant_as_common_type = 1;
SELECT toTypeName(array(range(number), number, 'str_' || toString(number))) as array_of_variants_type from numbers(1);
SELECT array(range(number), number, 'str_' || toString(number)) as array_of_variants FROM numbers(3);
┌─array_of_variants_type────────────────────────┐
│ Array(Variant(Array(UInt64), String, UInt64)) │
└───────────────────────────────────────────────┘

┌─array_of_variants─┐
│ [[],0,'str_0']    │
│ [[0],1,'str_1']   │
│ [[0,1],2,'str_2'] │
└───────────────────┘
SET use_variant_as_common_type = 1;
SELECT toTypeName(map('a', range(number), 'b', number, 'c', 'str_' || toString(number))) as map_of_variants_type from numbers(1);
SELECT map('a', range(number), 'b', number, 'c', 'str_' || toString(number)) as map_of_variants FROM numbers(3);
┌─map_of_variants_type────────────────────────────────┐
│ Map(String, Variant(Array(UInt64), String, UInt64)) │
└─────────────────────────────────────────────────────┘

┌─map_of_variants───────────────┐
│ {'a':[],'b':0,'c':'str_0'}    │
│ {'a':[0],'b':1,'c':'str_1'}   │
│ {'a':[0,1],'b':2,'c':'str_2'} │
└───────────────────────────────┘

use_with_fill_by_sorting_prefix

タイプ: Bool

デフォルト値: 1

ORDER BY句でFILL列より前のカラムがソーティングプレフィックスを形成します。ソーティングプレフィックス内で異なる値を持つ行は独立して埋められます。

validate_polygons

タイプ: Bool

デフォルト値: 1

多角形が自己交差または自己接触している場合、pointInPolygon関数で例外をスローするかどうかを有効または無効にします。

可能な値:

  • 0 — 例外をスローすることを無効にします。pointInPolygonは無効な多角形を受け入れ、それらに対して不正確な結果を返す可能性があります。
  • 1 — 例外をスローすることを有効にします。
## wait_changes_become_visible_after_commit_mode {#wait_changes_become_visible_after_commit_mode}

タイプ: TransactionsWaitCSNMode

デフォルト値: wait_unknown

コミットされた変更が最新のスナップショットで実際に見えるようになるまで待機します。

## wait_for_async_insert {#wait_for_async_insert}

タイプ: Bool

デフォルト値: 1

trueの場合、非同期挿入処理の完了を待機します。

## wait_for_async_insert_timeout {#wait_for_async_insert_timeout}

タイプ: 秒

デフォルト値: 120

非同期挿入処理の完了を待つためのタイムアウト。

## wait_for_window_view_fire_signal_timeout {#wait_for_window_view_fire_signal_timeout}

タイプ: 秒

デフォルト値: 10

イベント時間処理においてウィンドウビューの信号発火を待つためのタイムアウト。

## window_view_clean_interval {#window_view_clean_interval}

タイプ: 秒

デフォルト値: 60

古いデータを解放するためのウィンドウビューのクリーン間隔(秒)。

## window_view_heartbeat_interval {#window_view_heartbeat_interval}

タイプ: 秒

デフォルト値: 15

ウォッチクエリが生存していることを示すためのハートビート間隔(秒)。

## workload {#workload}

タイプ: 文字列

デフォルト値: default

リソースにアクセスするために使用されるワークロードの名前。

## write_through_distributed_cache {#write_through_distributed_cache}

タイプ: Bool

デフォルト値: 0

ClickHouse Cloud のみ。分散キャッシュへの書き込みを許可しますS3への書き込みも分散キャッシュによって行われます。

## zstd_window_log_max {#zstd_window_log_max}

タイプ: Int64

デフォルト値: 0

ZSTD の最大ウィンドウログを選択することができます(これは MergeTree ファミリーには使用されません)。