> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# その他のセッション設定

> 「Other」生成グループ内の ClickHouse セッション設定。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

export const CloudOnlyBadge = () => {
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'ClickHouse Cloud 専用'}
        </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>ベータ</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                ベータ機能です。 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        詳しくはこちら。
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            実験的な機能です。 <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">詳細を見る。</a></u>
        </div>;
};

これらの設定は [system.settings](/docs/ja/reference/system-tables/settings) で参照でき、[ソースコード](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp) から自動生成されています。

<div id="add_http_cors_header">
  ## add\_http\_cors\_header
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

HTTP CORS ヘッダーを追加して書き込みます。

<div id="analyze_index_with_space_filling_curves">
  ## analyze\_index\_with\_space\_filling\_curves
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

テーブルの索引に空間充填曲線が含まれている場合 (例: `ORDER BY mortonEncode(x, y)` や `ORDER BY hilbertEncode(x, y)`) 、クエリにその引数に対する条件 (例: `x >= 10 AND x <= 20 AND y >= 20 AND y <= 30`) があるときは、索引解析に空間充填曲線を使用します。

<div id="analyzer_inline_views">
  ## analyzer\_inline\_views
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "新しい設定"}]}]} />

有効にすると、アナライザは通常の (非マテリアライズドかつ非パラメータ化された) ビューを、それを定義するサブクエリで置き換えます。これにより、述語プッシュダウンやカラムのプルーニングなど、ビュー境界をまたぐ最適化が可能になります。

<div id="any_join_distinct_right_table_keys">
  ## any\_join\_distinct\_right\_table\_keys
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "19.14"},{"label": "0"},{"label": "不整合を避けるため、デフォルトで ANY RIGHT および ANY FULL JOIN を無効にする"}]}]} />

`ANY INNER|LEFT JOIN` 操作で従来の ClickHouse server の動作を有効にします。

<Note>
  この設定は、ユースケースが従来の `JOIN` の動作に依存している場合に限り、後方互換性のために使用してください。
</Note>

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

* ClickHouse は左から右へのテーブルキーの多対一マッピングというロジックを使用するため、`t1 ANY LEFT JOIN t2` と `t2 ANY RIGHT JOIN t1` の結果は同一になりません。
* `ANY INNER JOIN` 操作の結果には、`SEMI LEFT JOIN` 操作と同様に、左テーブルのすべての行が含まれます。

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

* ClickHouse は `ANY RIGHT JOIN` 操作で一対多のキーマッピングを行うロジックを使用するため、`t1 ANY LEFT JOIN t2` と `t2 ANY RIGHT JOIN t1` の結果は同一になります。
* `ANY INNER JOIN` 操作の結果には、左テーブルと右テーブルの両方について、キーごとに 1 行が含まれます。

設定可能な値:

* 0 — 従来の動作は無効です。
* 1 — 従来の動作は有効です。

関連項目:

* [JOIN strictness](/docs/ja/reference/statements/select/join#settings)

<div id="archive_adaptive_buffer_max_size_bytes">
  ## archive\_adaptive\_buffer\_max\_size\_bytes
</div>

<SettingsInfoBlock type="UInt64" default_value="8388608" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "8388608"},{"label": "新しい設定"}]}]} />

アーカイブファイル (たとえば tar アーカイブ) への書き込み時に使用されるアダプティブバッファの最大サイズを制限します

<div id="arrow_flight_request_descriptor_type">
  ## arrow\_flight\_request\_descriptor\_type
</div>

<SettingsInfoBlock type="ArrowFlightDescriptorType" default_value="path" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "path"},{"label": "新しい設定。Arrow Flight リクエストで使用するディスクリプタの種類。'path' または 'command'。Dremio では 'command' が必要です。"}]}]} />

Arrow Flight リクエストで使用するディスクリプタの種類です。'path' はデータセット名をパスディスクリプタとして送信します。'command' は SQL クエリを command ディスクリプタとして送信します (Dremio では必須) 。

設定可能な値:

* 'path' — FlightDescriptor::Path を使用します (デフォルト。ほとんどの Arrow Flight サーバーで動作します)
* 'command' — SELECT クエリとともに FlightDescriptor::Command を使用します (Dremio では必須)

<div id="backup_slow_all_threads_after_retryable_s3_error">
  ## backup\_slow\_all\_threads\_after\_retryable\_s3\_error
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "新しい設定"}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "0"},{"label": "新しい設定"}]}, {"id": "row-3","items": [{"label": "25.10"},{"label": "0"},{"label": "デフォルトでこの設定を無効化"}]}]} />

`true` に設定すると、同じバックアップエンドポイントに対して S3 リクエストを実行しているすべてのスレッドが、
いずれか 1 つの S3 リクエストで 'Slow Down' などの再試行可能な S3 エラーが発生した後に
遅延されます。
`false` に設定すると、各スレッドは他のスレッドとは独立して、S3 リクエストのバックオフを処理します。

<div id="cache_warmer_threads">
  ## cache\_warmer\_threads
</div>

<CloudOnlyBadge />

<SettingsInfoBlock type="UInt64" default_value="4" />

ClickHouse Cloudでのみ有効です。[cache\_populated\_by\_fetch](/docs/ja/reference/settings/merge-tree-settings#cache_populated_by_fetch) が有効な場合に、新しいデータパーツをファイルシステムキャッシュへ先読み的にダウンロードするバックグラウンドスレッド数です。無効にするには 0 を指定します。

<div id="calculate_text_stack_trace">
  ## calculate\_text\_stack\_trace
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

クエリ実行中に例外が発生した場合に、テキスト形式のスタックトレースを計算します。これがデフォルトです。これにはシンボルのルックアップが必要なため、大量の不正なクエリが実行されると、ファジングテストが遅くなることがあります。通常、このオプションを無効にすべきではありません。

<div id="cancel_http_readonly_queries_on_client_close">
  ## cancel\_http\_readonly\_queries\_on\_client\_close
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

クライアントがレスポンスを待たずに接続を閉じた場合、HTTP の読み取り専用クエリ (例: `SELECT`) をキャンセルします。

Cloud でのデフォルト値: `1`.

<div id="checksum_on_read">
  ## checksum\_on\_read
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

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

<div id="connection_pool_max_wait_ms">
  ## connection\_pool\_max\_wait\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="0" />

接続プールが満杯のときに、接続の確立を待機する時間をミリ秒単位で指定します。

設定可能な値:

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

<div id="connections_with_failover_max_tries">
  ## connections\_with\_failover\_max\_tries
</div>

<SettingsInfoBlock type="UInt64" default_value="3" />

Distributed テーブルエンジンで、各レプリカに対して行う接続試行の最大回数。

<div id="convert_query_to_cnf">
  ## convert\_query\_to\_cnf
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

`true` に設定すると、`SELECT` クエリは連言標準形 (CNF) に変換されます。クエリを CNF に書き換えることで、実行が高速になる場合があります (詳しくはこの [Github issue](https://github.com/ClickHouse/ClickHouse/issues/11749) を参照してください) 。

たとえば、次の `SELECT` クエリは変更されません (デフォルトの動作) :

```sql theme={null}
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;
```

結果は次のとおりです：

```response theme={null}
┌─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_cnf` を `true` に設定して、何が変わるか見てみましょう。

```sql theme={null}
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 に書き換えられていますが、結果セットはまったく同じで、ブール値の論理は変わっていません：

```response theme={null}
┌─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

<div id="count_matches_stop_at_empty_match">
  ## count\_matches\_stop\_at\_empty\_match
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "新しい設定"}]}]} />

`countMatches` 関数では、パターンが長さ 0 に一致した時点でカウントを停止します。

<div id="cross_to_inner_join_rewrite">
  ## cross\_to\_inner\_join\_rewrite
</div>

<SettingsInfoBlock type="UInt64" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.7"},{"label": "2"},{"label": "カンマ join を inner join に強制的に書き換え"}]}]} />

WHERE 句に結合条件となる式がある場合、comma/cross join の代わりに inner join を使用します。値: 0 - 書き換えなし、1 - 可能な場合は comma/cross に適用、2 - すべての comma join を強制的に書き換え、cross は可能な場合に書き換え

<div id="data_type_default_nullable">
  ## data\_type\_default\_nullable
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

カラム定義で明示的な修飾子 [NULL or NOT NULL](/docs/ja/reference/statements/create/table#null-or-not-null-modifiers) を指定しないデータ型を、[Nullable](/docs/ja/reference/data-types/nullable) として扱うかどうかを指定します。

設定可能な値:

* 1 — カラム定義のデータ型は、デフォルトで `Nullable` に設定されます。
* 0 — カラム定義のデータ型は、デフォルトで `Nullable` に設定されません。

<div id="decimal_check_overflow">
  ## decimal\_check\_overflow
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

Decimal の算術/比較演算でオーバーフローをチェックします

<div id="deduplicate_blocks_in_dependent_materialized_views">
  ## deduplicate\_blocks\_in\_dependent\_materialized\_views
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "依存する materialized view の重複排除をデフォルトで有効にします。"}]}]} />

Replicated\* テーブルからデータを受け取る materialized view に対する重複排除チェックを有効または無効にします。

設定可能な値:

* 0 — 無効。
* 1 — 有効。

有効にすると、ClickHouse は Replicated\* テーブルに依存する materialized view 内のブロックに対して重複排除を実行します。
この設定は、障害によって挿入処理が再試行される場合に、materialized view に重複データが含まれないようにするのに役立ちます。

**関連項目**

* [IN 演算子における NULL の処理](/docs/ja/concepts/features/operations/insert/deduplicating-inserts-on-retries#insert-deduplication-with-materialized-views)

<div id="defer_partition_pruning_after_final">
  ## defer\_partition\_pruning\_after\_final
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "26.5 で新たに追加された設定で、26.3 でひそかに導入された FINAL のパーティションプルーニング動作を制御します (https:\/\/github.com\/ClickHouse\/ClickHouse\/pull\/98242)。実質的な動作変更は 26.3 のブロックに記録されているため、`compatibility = '26.2'` で元に戻せます。このエントリは、26.4 からのアップグレード時のチェックで新しく導入された設定名を受け付けられるようにするためのものです。"}]}, {"id": "row-2","items": [{"label": "26.3"},{"label": "1"},{"label": "パーティションキーカラムがソートキーに含まれていない場合に、FINAL planner がパーティションプルーニングを無条件にスキップする動作を制御します。この動作変更自体は https:\/\/github.com\/ClickHouse\/ClickHouse\/pull\/98242 により 26.3 でひそかに導入されました。このエントリはそれを事後的に文書化するもので、`compatibility = '26.2'` により変更前の動作 (0 = FINAL の前に prune、高速; 1 = prune を後ろに遅らせる、正しさを優先) を復元します。"}]}]} />

有効な場合 (デフォルト) 、パーティションキーカラムがソートキーに含まれていない
テーブルに対する `FINAL` クエリでは、パーティションプルーニングはスキップされます。これは
26.3 で導入された、正しさを優先した動作です。`FINAL` では、同じ主キーを共有しながら
異なるパーティションに存在する行を重複排除する必要が生じる場合があり、パーティションプルーニングを行うと、
そのような行が重複排除の対象から気づかれないまま除外される可能性があります。

無効な場合は、`FINAL` を使用していてもパーティションプルーニングが適用され、26.3 より前の
動作に戻ります。これは、パーティションカラムに対する `WHERE` 条件を含むクエリでは大幅に高速になる
可能性がありますが、同じ主キーを持つ行が異なるパーティションに存在しない場合にのみ正しい動作となります。
たとえば、パーティションカラムが insert 時に設定され、その後は変更されないイベントログテーブルなどです。

この設定が影響するのは、パーティションキーカラムがソートキーに含まれていない
パーティションテーブルだけです。その他のテーブルでは、パーティションプルーニングは常に適用されます。

設定可能な値:

* 0 — `FINAL` の前にパーティションプルーニングを適用します (26.3 より前の動作。高速ですが、一般的には安全ではありません) 。
* 1 — `FINAL` の後までパーティションプルーニングを遅らせます (デフォルト。正しさを優先) 。

<div id="describe_compact_output">
  ## describe\_compact\_output
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

true の場合、DESCRIBE クエリの結果にはカラム名と型のみが含まれます

<div id="dialect">
  ## dialect
</div>

<SettingsInfoBlock type="Dialect" default_value="clickhouse" />

クエリの解析に使用するdialect

<div id="discard_query_data">
  ## discard\_query\_data
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "ネイティブ TCP プロトコル経由でクエリ結果の行をクライアントに送信しないようにする新しい設定。"}]}]} />

有効にすると、サーバーはクエリ結果の行をクライアントに送信しなくなります。クエリ自体は引き続き実行され、サーバー上で完全に記録されます。また、クライアントはそれ以外のパケットを引き続き受信します。

シャドートラフィック、ベンチマーク、ファジングで使用します。

セカンダリクエリには影響しません。

ネイティブ TCP プロトコルにのみ適用されます。

<div id="distinct_overflow_mode">
  ## distinct\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowMode" default_value="throw" />

データ量がいずれかの上限を超えたときの動作を設定します。

設定可能な値:

* `throw`: 例外をスローします (デフォルト) 。
* `break`: クエリの実行を停止し、データソースが尽きたかのように
  部分的な結果を返します。

<div id="do_not_merge_across_partitions_select_final">
  ## do\_not\_merge\_across\_partitions\_select\_final
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

異なるパーティション間でのマージを避けることで、FINAL クエリを最適化します。

有効にすると、SELECT FINAL クエリの実行時に、異なるパーティションのパーツがまとめてマージされることはありません。代わりに、マージは各パーティション内でのみ個別に行われます。これにより、パーティション化されたテーブルを扱う際のクエリパフォーマンスを大幅に向上させることができます。

<div id="dynamic_throw_on_type_mismatch">
  ## dynamic\_throw\_on\_type\_mismatch
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "デフォルト実装の Dynamic における型不一致時の動作を制御する新しい設定"}]}]} />

デフォルト実装を使用して [Dynamic](/docs/ja/reference/data-types/dynamic) カラムに関数を適用する際、
実際の型がその関数に適合しない行に対してどのように動作するかを制御します。

* `true` (デフォルト) — 例外をスローします。
* `false` — 代わりに、それらの行では `NULL` を返します。

<div id="enforce_strict_identifier_format">
  ## enforce\_strict\_identifier\_format
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "新しい設定"}]}]} />

有効にすると、英数字とアンダースコアのみを含む識別子だけが許可されます。

<div id="engine_url_skip_empty_files">
  ## engine\_url\_skip\_empty\_files
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

[URL](/docs/ja/reference/engines/table-engines/special/url) エンジンのテーブルで空のファイルをスキップするかどうかを有効または無効にします。

設定可能な値:

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

<div id="exact_rows_before_limit">
  ## exact\_rows\_before\_limit
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

有効にすると、ClickHouse は `rows_before_limit_at_least` 統計の正確な値を返しますが、その代わり、limit より前のデータを最後まで完全に読み取る必要があります

<div id="except_default_mode">
  ## except\_default\_mode
</div>

<SettingsInfoBlock type="SetOperationMode" default_value="ALL" />

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

<div id="exclude_materialize_skip_indexes_on_insert">
  ## exclude\_materialize\_skip\_indexes\_on\_insert
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": ""},{"label": "新しい設定"}]}]} />

指定したスキップ索引を、INSERT 時の構築および保存の対象から除外します。除外されたスキップ索引は、[マージ中](/docs/ja/reference/settings/merge-tree-settings#materialize_skip_indexes_on_merge)または明示的な
[MATERIALIZE INDEX](/docs/ja/reference/statements/alter/skipping-index#materialize-index)クエリによって引き続き構築および保存されます。

[materialize\_skip\_indexes\_on\_insert](/docs/ja/reference/settings/session-settings/materialize#materialize_skip_indexes_on_insert) が false の場合、この設定は効果を持ちません。

例:

```sql theme={null}
CREATE TABLE tab
(
    a UInt64,
    b UInt64,
    INDEX idx_a a TYPE minmax,
    INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple();

SET exclude_materialize_skip_indexes_on_insert='idx_a'; -- idx_a will be not be updated upon insert
--SET exclude_materialize_skip_indexes_on_insert='idx_a, idx_b'; -- neither index would be updated on insert

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- only idx_b is updated

-- since it is a session setting it can be set on a per-query level
INSERT INTO tab SELECT number, number / 50 FROM numbers(100, 100) SETTINGS exclude_materialize_skip_indexes_on_insert='idx_b';

ALTER TABLE tab MATERIALIZE INDEX idx_a; -- this query can be used to explicitly materialize the index

SET exclude_materialize_skip_indexes_on_insert = DEFAULT; -- reset setting to default
```

<div id="execute_exists_as_scalar_subquery">
  ## execute\_exists\_as\_scalar\_subquery
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "新しい設定"}]}]} />

相関しない EXISTS サブクエリをスカラーサブクエリとして実行します。スカラーサブクエリと同様に cache が使用され、結果には定数畳み込みが適用されます。

Cloud でのデフォルト値: `0`.

<div id="explain_query_plan_default">
  ## explain\_query\_plan\_default
</div>

<SettingsInfoBlock type="ExplainQueryPlanDefault" default_value="pretty" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "pretty"},{"label": "26.7 以降、`EXPLAIN PLAN` のデフォルトは `actions=1, compact=1, pretty=1` です。26.7 より前の出力に戻すには、これを `legacy` に設定します。"}]}]} />

`EXPLAIN PLAN` で使用されるデフォルトのフォーマットです。

設定可能な値:

* `pretty` (26.7 以降のデフォルト) — `actions`、`compact`、`pretty` はデフォルトで `true` となり、コンパクトで見やすく、`actions` の注釈が付いたプランを生成します。
* `legacy` — 26.7 より前の出力。

`EXPLAIN` ステートメントで `actions`、`compact`、または `pretty` オプションを明示的に指定した場合 (たとえば `EXPLAIN actions = 0, compact = 0, pretty = 0 SELECT ...`) 、常にこの設定よりも明示指定の方が優先されます。

`json = 1` または `distributed = 1` を指定した `EXPLAIN PLAN` では、`actions`、`compact`、または `pretty` が明示的に設定されていない限り、この設定に関係なく従来の (26.7 より前の) デフォルトが使われます。pretty 出力では JSON の結果や分片ごとの分散実行プランを表現できないため、これらのモードは `legacy` 形式でのみ正しくレンダリングされます。

<div id="extract_key_value_pairs_max_pairs_per_row">
  ## extract\_key\_value\_pairs\_max\_pairs\_per\_row
</div>

**別名**: `extract_kvp_max_pairs_per_row`

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "0"},{"label": "`extractKeyValuePairs` 関数で生成可能なペアの最大数。メモリを過剰に消費しないようにするための保護策として使用されます。"}]}]} />

`extractKeyValuePairs` 関数で生成可能なペアの最大数。メモリを過剰に消費しないようにするための保護策として使用されます。

<div id="extremes">
  ## extremes
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

極値 (クエリ結果の各カラムにおける最小値と最大値) を計算するかどうかを指定します。0 または 1 を指定できます。デフォルトは 0 (無効) です。
詳細については、「Extreme values」セクションを参照してください。

<div id="fallback_to_stale_replicas_for_distributed_queries">
  ## fallback\_to\_stale\_replicas\_for\_distributed\_queries
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

更新済みのデータを利用できない場合、古いレプリカに対してクエリを強制的に実行します。[Replication](/docs/ja/reference/engines/table-engines/mergetree-family/replication)を参照してください。

ClickHouse は、テーブルの古いレプリカの中から最も適切なものを選択します。

レプリケートテーブルを参照する分散テーブルに対して `SELECT` を実行する際に使用されます。

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

<div id="file_like_engine_default_partition_strategy">
  ## file\_like\_engine\_default\_partition\_strategy
</div>

<SettingsInfoBlock type="FileLikeEngineDefaultPartitionStrategy" default_value="hive" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "hive"},{"label": "`partition_strategy` が指定されていない場合、ファイル系テーブルエンジン（S3、AzureBlobStorage など）のデフォルトのパーティション方式を `wildcard` から `hive` に変更しました。"}]}]} />

ファイル系テーブルエンジンのデフォルトのパーティション方式。

<div id="filesystem_prefetches_limit">
  ## filesystem\_prefetches\_limit
</div>

<SettingsInfoBlock type="UInt64" default_value="200" />

prefetch の最大数です。0 は無制限を意味します。prefetch の数を制限したい場合は、設定 `filesystem_prefetches_max_memory_usage` を使用することを推奨します

<div id="final">
  ## final
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

クエリ内のすべてのテーブルのうち、[FINAL](/docs/ja/reference/statements/select/from#final-modifier) を適用できるものに対して、[FINAL](/docs/ja/reference/statements/select/from#final-modifier) 修飾子を自動的に適用します。これには、結合されたテーブル、サブクエリ内のテーブル、および分散テーブルが含まれます。

設定可能な値:

* 0 - 無効
* 1 - 有効

例:

```sql theme={null}
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 │
└─────┴────────┘
```

<div id="finalize_projection_parts_synchronously">
  ## finalize\_projection\_parts\_synchronously
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "ピークメモリ使用量を削減するため、INSERT 中にプロジェクションパーツを同期的にファイナライズする新しい設定。"}]}]} />

有効にすると、INSERT 中にプロジェクションパーツが同期的にファイナライズされ、S3 アップロードの並列度は下がるものの、ピークメモリ使用量を削減できます。デフォルトでは、各プロジェクションの出力ストリームは、パーツ全体 (すべてのプロジェクションを含む) のファイナライズが完了するまで維持されます。これにより S3 アップロードを並行して実行できますが、ピークメモリはプロジェクション数に比例して増加します。この設定が影響するのは INSERT パスのみで、merge と mutation ではすでにプロジェクションが同期的にファイナライズされます。

<div id="flatten_nested">
  ## flatten\_nested
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

[nested](/docs/ja/reference/data-types/nested-data-structures/index)カラムのデータフォーマットを指定します。

設定可能な値:

* 1 — Nested カラムは個別の配列にフラット化されます。
* 0 — Nested カラムは単一のタプル配列のまま保持されます。

**使用法**

この設定を `0` にすると、任意のレベルのネストを使用できます。

**例**

クエリ:

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

SHOW CREATE TABLE t_nest;
```

結果:

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

クエリ:

```sql theme={null}
SET flatten_nested = 0;

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

SHOW CREATE TABLE t_nest;
```

結果:

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

<div id="fsync_metadata">
  ## fsync\_metadata
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

`.sql` ファイルの書き込み時に [fsync](http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html) を有効または無効にします。デフォルトでは有効です。

server に、作成と削除が絶えず行われる非常に小さな table が数百万ある場合は、これを無効にするのが適切です。

<div id="functions_h3_default_if_invalid">
  ## functions\_h3\_default\_if\_invalid
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "h3 関数で無効な入力を許可するための、レガシー動作用の新しい設定"}]}]} />

false の場合、h3 関数 (例: h3CellAreaM2) は入力が無効であれば例外を発生させます。true の場合は、0 またはデフォルト値を返します。

<div id="geo_distance_returns_float64_on_float64_arguments">
  ## geo\_distance\_returns\_float64\_on\_float64\_arguments
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "デフォルトの精度を高めました。"}]}]} />

`geoDistance`、`greatCircleDistance`、`greatCircleAngle` 関数の4つの引数がすべて Float64 の場合、戻り値は Float64 となり、内部計算には倍精度が使用されます。以前の ClickHouse バージョンでは、これらの関数は常に Float32 を返していました。

<div id="geotoh3_argument_order">
  ## geotoh3\_argument\_order
</div>

<BetaBadge />

<SettingsInfoBlock type="GeoToH3ArgumentOrder" default_value="lat_lon" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "lat_lon"},{"label": "lon と lat の引数順を設定する、レガシー動作向けの新しい設定"}]}]} />

Function 'geoToH3' は、'lon\_lat' に設定すると (lon, lat) を、'lat\_lon' に設定すると (lat, lon) を受け入れます。

<div id="glob_expansion_max_elements">
  ## glob\_expansion\_max\_elements
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

許可されるアドレス数の上限 (external storage、table function など) 。

<div id="h3togeo_lon_lat_result_order">
  ## h3togeo\_lon\_lat\_result\_order
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "新しい設定"}]}]} />

関数 'h3ToGeo' は、true の場合は (lon, lat)、それ以外の場合は (lat, lon) を返します。

<div id="handshake_timeout_ms">
  ## handshake\_timeout\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="10000" />

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

<div id="hedged_connection_timeout_ms">
  ## hedged\_connection\_timeout\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="50" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "50"},{"label": "以前の接続タイムアウトに合わせるため、ヘッジドリクエストでは 100 ms ではなく 50 ms 後に新しい接続を開始"}]}]} />

ヘッジドリクエストでレプリカとの接続を確立する際の接続タイムアウト

<div id="highlight_max_matches_per_row">
  ## highlight\_max\_matches\_per\_row
</div>

<SettingsInfoBlock type="UInt64" default_value="10000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "10000"},{"label": "過剰なメモリ使用量を防ぐため、1行あたりのハイライト一致数を制限する新しい設定。"}]}]} />

[highlight](/docs/ja/reference/functions/regular-functions/string-search-functions#highlight) 関数で、1行あたりのハイライト一致数の最大値を設定します。大きなテキスト内で繰り返しの多いパターンをハイライトする際に、過剰なメモリ使用量を防ぐために使用します。

設定可能な値:

* 正の整数。

<div id="hnsw_candidate_list_size_for_search">
  ## hnsw\_candidate\_list\_size\_for\_search
</div>

<SettingsInfoBlock type="UInt64" default_value="256" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "256"},{"label": "新しい設定。以前は、この値は CREATE INDEX で任意に指定でき、デフォルトは 64 でした。"}]}]} />

ベクトル類似度索引の検索時に使用される動的な候補リストのサイズです。`ef_search` とも呼ばれます。

<div id="hsts_max_age">
  ## hsts\_max\_age
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

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

<div id="idle_connection_timeout">
  ## idle\_connection\_timeout
</div>

<SettingsInfoBlock type="UInt64" default_value="3600" />

アイドル状態の TCP 接続を、指定した秒数経過後に切断するまでのタイムアウトです。

設定可能な値:

* 正の整数 (0 の場合は 0 秒後、つまり即座に切断されます) 。

<div id="inject_random_order_for_select_without_order_by">
  ## inject\_random\_order\_for\_select\_without\_order\_by
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "新しい設定"}]}]} />

有効にすると、ORDER BY clause を持たない SELECT クエリに 'ORDER BY rand()' を挿入します。
適用されるのはサブクエリの深さが 0 の場合のみです。サブクエリおよび INSERT INTO ... SELECT は対象外です。
最上位の構造が UNION の場合、'ORDER BY rand()' はすべての child に個別に挿入されます。
ORDER BY がないとクエリ結果が非決定論的になるため、主にテストや開発でのみ有用です。

<div id="interactive_delay">
  ## interactive\_delay
</div>

<SettingsInfoBlock type="UInt64" default_value="100000" />

リクエストの実行がキャンセルされたかどうかを確認し、Progressを送信する間隔をマイクロ秒単位で指定します。

<div id="intersect_default_mode">
  ## intersect\_default\_mode
</div>

<SettingsInfoBlock type="SetOperationMode" default_value="ALL" />

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

<div id="least_greatest_legacy_null_behavior">
  ## least\_greatest\_legacy\_null\_behavior
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "新しい設定"}]}]} />

有効にすると、関数 'least' と 'greatest' は、いずれかの引数が NULL の場合に NULL を返します。

<div id="legacy_column_name_of_tuple_literal">
  ## legacy\_column\_name\_of\_tuple\_literal
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.7"},{"label": "0"},{"label": "この設定は互換性のためにのみ追加されました。バージョン 21.7 未満から 21.7 以上へクラスターをローリングアップデートする際は、'true' に設定するのが適切です"}]}]} />

ハッシュではなく、大きなタプルリテラルの要素名をすべてカラム名として列挙します。この設定は互換性のためにのみ存在します。バージョン 21.7 未満から 21.7 以上へクラスターをローリングアップデートする際は、'true' に設定するのが適切です。

<div id="limit">
  ## limit
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

クエリ結果から取得する行数の上限を設定します。これは [LIMIT](/docs/ja/reference/statements/select/limit) 句で設定された値を調整し、クエリで指定した制限値がこの設定で定めた上限を超えないようにします。

設定可能な値:

* 0 — 行数は制限されません。
* 正の整数。

<div id="load_marks_asynchronously">
  ## load\_marks\_asynchronously
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

MergeTree のマークを非同期に読み込む

Cloud でのデフォルト値: `1`.

<div id="lock_acquire_timeout">
  ## lock\_acquire\_timeout
</div>

<SettingsInfoBlock type="Seconds" default_value="120" />

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

このロックタイムアウトは、table に対する読み取り/書き込み操作の実行中にデッドロックを防ぐために使用されます。タイムアウトに達してロックのリクエストが失敗すると、ClickHouse server は例外 `"Locking attempt timed out! Possible deadlock avoided. Client should retry."` をスローし、エラーコード `DEADLOCK_AVOIDED` を返します。

設定可能な値:

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

<div id="low_priority_query_wait_time_ms">
  ## low\_priority\_query\_wait\_time\_ms
</div>

<BetaBadge />

<SettingsInfoBlock type="Milliseconds" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "1000"},{"label": "新しい設定"}]}]} />

クエリの優先度付けの仕組みが使用されている場合 (設定 `priority` を参照) 、低優先度のクエリは高優先度のクエリが完了するまで待機します。この設定では、その待機時間を指定します。

<div id="make_distributed_plan">
  ## make\_distributed\_plan
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "新しい実験的な設定"}]}]} />

分散クエリプランを生成します。

<div id="merge_table_max_tables_to_look_for_schema_inference">
  ## merge\_table\_max\_tables\_to\_look\_for\_schema\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "新しい設定"}]}]} />

明示的なスキーマを指定せずに `Merge` テーブルを作成する場合、または `merge` テーブル関数を使用する場合、スキーマは指定した数以下の一致するテーブルのスキーマのユニオンとして推論されます。
テーブル数がそれを超える場合は、先頭から指定した数のテーブルに基づいてスキーマが推論されます。

<div id="mongodb_throw_on_unsupported_query">
  ## mongodb\_throw\_on\_unsupported\_query
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "1"},{"label": "新しい設定"}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "1"},{"label": "新しい設定"}]}]} />

有効な場合、MongoDBクエリを構築できないとき、MongoDBテーブルはエラーを返します。無効な場合、ClickHouse はテーブル全体を読み込み、ローカルで処理します。このオプションは、'allow\_experimental\_analyzer=0' の場合は適用されません。

<div id="multiple_joins_try_to_keep_original_names">
  ## multiple\_joins\_try\_to\_keep\_original\_names
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

複数の JOIN の書き換え時に、最上位の式リストへ別名を追加しない

<div id="normalize_function_names">
  ## normalize\_function\_names
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.3"},{"label": "1"},{"label": "関数名を標準名に正規化します。これはプロジェクションのクエリルーティングに必要でした"}]}]} />

関数名を標準名に正規化します

<div id="offset">
  ## offset
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

クエリで行を返し始める前にスキップする行数を設定します。[OFFSET](/docs/ja/reference/statements/select/offset) 句で指定した offset を調整するため、これら 2 つの値は合算されます。

設定可能な値:

* 0 — 行はスキップされません。
* 正の整数。

**例**

入力テーブル:

```sql theme={null}
CREATE TABLE test (i UInt64) ENGINE = MergeTree() ORDER BY i;
INSERT INTO test SELECT number FROM numbers(500);
```

クエリ:

```sql theme={null}
SET limit = 5;
SET offset = 7;
SELECT * FROM test LIMIT 10 OFFSET 100;
```

結果:

```text theme={null}
┌───i─┐
│ 107 │
│ 108 │
│ 109 │
└─────┘
```

<div id="paimon_target_snapshot_id">
  ## paimon\_target\_snapshot\_id
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Int64" default_value="-1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "-1"},{"label": "新しい設定"}]}]} />

Paimon のインクリメンタルモードにおける、クエリレベルで特定のスナップショットを対象にした読み取りです。>0 の場合、リーダーはコミット済みのウォーターマークを進めずに、指定した snapshot\_id の差分のみを取得します。
デフォルト: -1 (無効)

<div id="parallelize_output_from_storages">
  ## parallelize\_output\_from\_storages
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "1"},{"label": "file/URL/S3 などから読み取るクエリの実行時に並列処理を許可します。これにより行の順序が変わる場合があります。"}]}]} />

ストレージからの読み取りステップの出力を並列化します。これにより、可能な場合はストレージからの読み取り直後にクエリ処理を並列化できます。

<div id="partial_result_on_first_cancel">
  ## partial\_result\_on\_first\_cancel
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

キャンセル後でも、クエリが部分的な結果を返せるようにします。

<div id="per_part_index_stats">
  ## per\_part\_index\_stats
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "新しい設定"}]}]} />

各パートの索引統計をログに記録します

<div id="poll_interval">
  ## poll\_interval
</div>

<SettingsInfoBlock type="UInt64" default_value="10" />

サーバー側のクエリ待機ループを、指定した秒数だけブロックします。

<div id="polyglot_dialect">
  ## polyglot\_dialect
</div>

<ExperimentalBadge />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": ""},{"label": "polyglotトランスパイラの変換元SQL方言を指定するための新しい設定。"}]}]} />

polyglotトランスパイラの変換元SQL方言 (例: 'sqlite', 'mysql', 'postgresql', 'snowflake', 'duckdb') 。

<div id="postgresql_fault_injection_probability">
  ## postgresql\_fault\_injection\_probability
</div>

<SettingsInfoBlock type="Float" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "新しい設定"}]}]} />

内部 (レプリケーション用) の PostgreSQL クエリが失敗するおおよその確率です。有効な値の範囲は \[0.0f, 1.0f] です

<div id="predicate_statistics_sample_rate">
  ## predicate\_statistics\_sample\_rate
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "述語の選択性統計を system.predicate_statistics_log に収集するための新しい設定"}]}]} />

述語の選択性統計を `system.predicate_statistics_log` に収集します。N > 0 に設定すると、クエリ ID に基づいて、クエリのおよそ 1/N がサンプリングされます。0 は無効を意味します。

<div id="prefetch_buffer_size">
  ## prefetch\_buffer\_size
</div>

<SettingsInfoBlock type="UInt64" default_value="1048576" />

filesystem から読み込むための prefetch バッファの最大サイズです。読み取りバッファをそれ以上大きくする必要はないため、256 MiB を超える値は 256 MiB に制限されます。

<div id="print_pretty_type_names">
  ## print\_pretty\_type\_names
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "1"},{"label": "ユーザーエクスペリエンスを改善しました。"}]}]} />

`DESCRIBE` クエリおよび `toTypeName()` 関数で、深くネストされた型名をインデント付きで見やすく表示できるようにします。

例:

```sql theme={null}
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)
)
```

<div id="priority">
  ## priority
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

クエリの優先度。1 が最も高く、値が大きいほど優先度は低くなります。0 は優先度を使用しません。

<div id="push_external_roles_in_interserver_queries">
  ## push\_external\_roles\_in\_interserver\_queries
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "1"},{"label": "新しい設定"}]}]} />

クエリ実行時に、ユーザーロールをクエリの発行元から他のノードへプッシュすることを有効にします。

<div id="query_metric_log_interval">
  ## query\_metric\_log\_interval
</div>

<SettingsInfoBlock type="Int64" default_value="-1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "-1"},{"label": "新しい設定"}]}]} />

個々のクエリに対する [query\_metric\_log](/docs/ja/reference/system-tables/query_metric_log) の収集間隔 (ミリ秒単位) です。

負の値を指定すると、[query\_metric\_log setting](/docs/ja/reference/settings/server-settings/settings#query_metric_log) の `collect_interval_milliseconds` の値が使用され、存在しない場合はデフォルトで 1000 になります。

単一のクエリの収集を無効にするには、`query_metric_log_interval` を 0 に設定します。

デフォルト値: -1

<div id="queue_max_wait_ms">
  ## queue\_max\_wait\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="0" />

同時実行リクエスト数が最大値を超えた場合に、リクエストキュー内で待機する時間です。

<div id="rabbitmq_max_wait_ms">
  ## rabbitmq\_max\_wait\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="5000" />

再試行前にRabbitMQから読み取る際の待機時間。

<div id="readonly">
  ## readonly
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

0 - 読み取り専用に関する制限はありません。1 - 閲覧リクエストのみ許可され、明示的に許可された設定の変更も可能です。2 - 閲覧リクエストのみ許可され、'readonly' 設定を除く設定の変更も可能です。

<div id="recursive_cte_max_steps_in_type_inference">
  ## recursive\_cte\_max\_steps\_in\_type\_inference
</div>

<SettingsInfoBlock type="UInt64" default_value="10" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "10"},{"label": "反復的な getLeastSupertype によって recursive CTE のカラム型を推論する際の最大反復回数"}]}]} />

recursive CTE のカラム型を推論する際の最大反復回数です。カラム型は、収束するまで、UNION ALL の非再帰側と再帰側に対して `getLeastSupertype` を繰り返し適用することで決定されます。0 に設定すると型の拡張が無効になり、非再帰部分の型のみが使用されます。

<div id="regexp_max_matches_per_row">
  ## regexp\_max\_matches\_per\_row
</div>

<SettingsInfoBlock type="UInt64" default_value="1000" />

1行あたり、単一の正規表現に対する最大一致数を設定します。[extractAllGroupsHorizontal](/docs/ja/reference/functions/regular-functions/string-search-functions#extractAllGroupsHorizontal) 関数で貪欲な正規表現を使用する際のメモリ過負荷を防ぐために使用します。

設定可能な値:

* 正の整数。

<div id="reject_expensive_hyperscan_regexps">
  ## reject\_expensive\_hyperscan\_regexps
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

hyperscan での評価コストが高くなる可能性が高いパターンを拒否します (NFA の状態爆発が原因)

<div id="remerge_sort_lowered_memory_bytes_ratio">
  ## remerge\_sort\_lowered\_memory\_bytes\_ratio
</div>

<SettingsInfoBlock type="Float" default_value="2" />

remerge 後のメモリ使用量がこの比率まで減少しない場合、remerge は無効になります。

<div id="remote_read_min_bytes_for_seek">
  ## remote\_read\_min\_bytes\_for\_seek
</div>

<SettingsInfoBlock type="UInt64" default_value="4194304" />

ignore を伴う読み取りではなく seek を行うために、リモート読み取り (url、S3) で必要な最小バイト数。

<div id="rename_files_after_processing">
  ## rename\_files\_after\_processing
</div>

* **型:** String

* **デフォルト値:** 空文字列

この設定では、`file` テーブル関数で処理したファイルのリネームパターンを指定できます。このオプションを設定すると、`file` テーブル関数で読み取られたすべてのファイルは、処理が正常に完了した場合に限り、プレースホルダーを含む指定のパターンに従ってリネームされます。

<div id="placeholders">
  ### プレースホルダー
</div>

* `%a` — 元の完全なファイル名 (例: "sample.csv") 。
* `%f` — 拡張子を除いた元のファイル名 (例: "sample") 。
* `%e` — ドット付きの元のファイル拡張子 (例: ".csv") 。
* `%t` — タイムスタンプ (マイクロ秒単位) 。
* `%%` — パーセント記号 ("%") 。

<div id="example">
  ### 例
</div>

* オプション: `--rename_files_after_processing="processed_%f_%t%e"`

* クエリ: `SELECT * FROM file('sample.csv')`

`sample.csv` の読み取りに成功すると、ファイル名は `processed_sample_1683473210851438.csv` に変更されます

<div id="replication_wait_for_inactive_replica_timeout">
  ## replication\_wait\_for\_inactive\_replica\_timeout
</div>

<SettingsInfoBlock type="Int64" default_value="120" />

非アクティブなレプリカが [`ALTER`](/docs/ja/reference/statements/alter/index)、[`OPTIMIZE`](/docs/ja/reference/statements/optimize)、または [`TRUNCATE`](/docs/ja/reference/statements/truncate) クエリを実行するまでの待機時間 (秒) を指定します。

設定可能な値:

* `0` — 待機しません。
* 負の整数 — 無制限に待機します。
* 正の整数 — 待機する秒数。

<div id="reserve_memory">
  ## reserve\_memory
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "クエリの開始前に、特定のワークロード用のメモリを予約するための新しい設定。"}]}]} />

ワークロードスケジューリングで使用されます。単一のサーバーでクエリを実行するために予約される RAM の最小量です。予約は、`workload` クエリ設定の値を使用して、WORKLOAD 階層を通じて行われます。
ワークロードで使用可能なメモリが不足している場合、クエリは開始されず、予約を確保できるまで保留状態で待機します。
`0` は予約を行わないことを意味します。
この設定は、MEMORY RESERVATION リソースが作成されている場合にのみ有効です。

<div id="restore_replicated_merge_tree_to_shared_merge_tree">
  ## restore\_replicated\_merge\_tree\_to\_shared\_merge\_tree
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "新しい設定"}]}]} />

RESTORE 時に、テーブルエンジンを Replicated*MergeTree から Shared*MergeTree に置き換えます。

Cloud でのデフォルト値: `1`。

<div id="result_overflow_mode">
  ## result\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowMode" default_value="throw" />

結果量がいずれかの制限を超えた場合の動作を設定します。

設定可能な値:

* `throw`: 例外をスローします (デフォルト) 。
* `break`: クエリの実行を停止し、ソースデータが尽きたかのように
  部分的な結果を返します。

'break' を使う動作は LIMIT の使用に似ています。`break` は block レベルでのみ実行を中断します。つまり、返される行数は
[`max_result_rows`](/docs/ja/reference/settings/session-settings/max-result#max_result_rows) を上回り、[`max_block_size`](/docs/ja/reference/settings/session-settings/max#max_block_size)
の倍数になり、[`max_threads`](/docs/ja/reference/settings/session-settings/max-threads#max_threads) に依存します。

**例**

```sql title="Query" theme={null}
SET max_threads = 3, max_block_size = 3333;
SET max_result_rows = 3334, result_overflow_mode = 'break';

SELECT *
FROM numbers_mt(100000)
FORMAT Null;
```

```text title="Result" theme={null}
6666 rows in set. ...
```

<div id="rows_before_aggregation">
  ## rows\_before\_aggregation
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "0"},{"label": "rows_before_aggregation 統計値の正確な値を返します。これは、集約前に読み取られた行数を表します"}]}]} />

有効にすると、ClickHouse は rows\_before\_aggregation 統計値の正確な値を返します。これは、集約前に読み取られた行数を表します

<div id="secondary_indices_enable_bulk_filtering">
  ## secondary\_indices\_enable\_bulk\_filtering
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "データスキッピングインデックスによるフィルタリングの新しいアルゴリズム"}]}]} />

インデックスでの一括フィルタリングアルゴリズムを有効にします。通常はこちらのほうが常に優れていると想定されていますが、互換性の確保と制御のためにこの設定を用意しています。

<div id="select_sequential_consistency">
  ## select\_sequential\_consistency
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<Note>
  この設定は、SharedMergeTree と ReplicatedMergeTree で動作が異なります。SharedMergeTree における `select_sequential_consistency` の動作の詳細については、[SharedMergeTree consistency](/docs/ja/products/cloud/features/infrastructure/shared-merge-tree#consistency) を参照してください。
</Note>

`SELECT` クエリで逐次整合性を有効または無効にします。`insert_quorum_parallel` を無効にする必要があります (デフォルトでは有効) 。

設定可能な値:

* 0 — 無効。
* 1 — 有効。

使用方法

逐次整合性が有効な場合、ClickHouse は、`insert_quorum` を指定してそれまでに実行されたすべての `INSERT` クエリのデータを含むレプリカに対してのみ、クライアントが `SELECT` クエリを実行できるようにします。クライアントが不完全なレプリカを参照した場合、ClickHouse は例外を生成します。`SELECT` クエリには、まだレプリカのクォーラムに書き込まれていないデータは含まれません。

`insert_quorum_parallel` が有効な場合 (デフォルト) 、`select_sequential_consistency` は機能しません。これは、並列の `INSERT` クエリが異なるクォーラムレプリカのセットに書き込まれる可能性があるため、単一のレプリカがすべての書き込みを受け取っている保証がないためです。

関連項目:

* [insert\_quorum](/docs/ja/reference/settings/session-settings/insert-quorum#insert_quorum)
* [insert\_quorum\_timeout](/docs/ja/reference/settings/session-settings/insert-quorum#insert_quorum_timeout)
* [insert\_quorum\_parallel](/docs/ja/reference/settings/session-settings/insert-quorum#insert_quorum_parallel)

<div id="session_timezone">
  ## session\_timezone
</div>

<BetaBadge />

現在のセッションまたはクエリの暗黙的なタイムゾーンを設定します。
暗黙的なタイムゾーンとは、明示的にタイムゾーンが指定されていない DateTime/DateTime64 型の値に適用されるタイムゾーンのことです。
この設定は、グローバルに設定された (サーバーレベルの) 暗黙的なタイムゾーンよりも優先されます。
値 `''` (空文字列) は、現在のセッションまたはクエリの暗黙的なタイムゾーンが [server time zone](/docs/ja/reference/settings/server-settings/settings#timezone) と同じであることを意味します。

関数 `timeZone()` と `serverTimeZone()` を使用すると、セッションのタイムゾーンとサーバーのタイムゾーンを取得できます。

設定可能な値:

* `system.time_zones` に含まれる任意のタイムゾーン名 (例: `Europe/Berlin`、`UTC`、`Zulu`)

例:

```sql theme={null}
SELECT timeZone(), serverTimeZone() FORMAT CSV

"Europe/Berlin","Europe/Berlin"
```

```sql theme={null}
SELECT timeZone(), serverTimeZone() SETTINGS session_timezone = 'Asia/Novosibirsk' FORMAT CSV

"Asia/Novosibirsk","Europe/Berlin"
```

明示的にタイムゾーンが指定されていない内側のDateTimeに、セッションのタイムゾーン 'America/Denver' を割り当てます:

```sql theme={null}
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` に従うわけではありません。これにより、気づきにくいエラーが生じる可能性があります。
  次の例と説明を参照してください。
</Warning>

```sql theme={null}
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 │
└─────────────────────┴──────────────────┘
```

これは、パース処理のパイプラインが異なるために発生します。

* 最初の `SELECT` クエリで、タイムゾーンを明示的に指定せずに使用された `toDateTime()` は、設定 `session_timezone` とグローバルタイムゾーンに従います。
* 2 つ目のクエリでは、DateTime は String からパースされ、既存のカラム`d`の型とタイムゾーンを継承します。そのため、設定 `session_timezone` とグローバルタイムゾーンには従いません。

**関連項目**

* [timezone](/docs/ja/reference/settings/server-settings/settings#timezone)

<div id="set_overflow_mode">
  ## set\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowMode" default_value="throw" />

データ量がいずれかの制限値を超えた場合の動作を設定します。

設定可能な値:

* `throw`: 例外を発生させます (デフォルト) 。
* `break`: クエリの実行を停止し、入力データが尽きたかのように
  部分的な結果を返します。

<div id="single_join_prefer_left_table">
  ## single\_join\_prefer\_left\_table
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

単一の JOIN で識別子が曖昧な場合は、左テーブルを優先します

<div id="skip_redundant_aliases_in_udf">
  ## skip\_redundant\_aliases\_in\_udf
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "有効にすると、同じテーブル内の複数のマテリアライズドカラムに対して、同じユーザー定義関数を複数回使用できるようになります。"}]}]} />

ユーザー定義関数を簡単に利用できるように、冗長な別名は UDF 内では使用されず、置換されます。

設定可能な値:

* 1 — UDF では別名がスキップされます (置換されます) 。
* 0 — UDF では別名はスキップされません (置換されます) 。

**例**

有効時と無効時の違い:

クエリ:

```sql theme={null}
SET skip_redundant_aliases_in_udf = 0;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));

EXPLAIN SYNTAX SELECT test_03274(4 + 2);
```

結果:

```text theme={null}
SELECT ((4 + 2) + 1 AS y, y + 2)
```

クエリ:

```sql theme={null}
SET skip_redundant_aliases_in_udf = 1;
CREATE FUNCTION IF NOT EXISTS test_03274 AS ( x ) -> ((x + 1 as y, y + 2));

EXPLAIN SYNTAX SELECT test_03274(4 + 2);
```

結果:

```text theme={null}
SELECT ((4 + 2) + 1, ((4 + 2) + 1) + 2)
```

<div id="sleep_after_receiving_query_ms">
  ## sleep\_after\_receiving\_query\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="0" />

TCPHandler でクエリを受信した後のスリープ時間

<div id="snappy_mode">
  ## snappy\_mode
</div>

<SettingsInfoBlock type="SnappyMode" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "basic"},{"label": "汎用の file\/URL I\/O で snappy 圧縮に使用するワイヤ形式を制御する新しい設定です。デフォルトの `basic` では、後方互換性のある Hadoop snappy ブロックフォーマットの読み取り互換性が維持されます。HTTP `Content-Encoding: snappy` は、この設定に関係なく常に framing フォーマットを使用します。"}]}]} />

`file` や `url` などの汎用 file I/O パスで、snappy 圧縮に使用するワイヤ形式を制御します。HTTP `Content-Encoding: snappy` は常に framing フォーマットを使用し、この設定は無視されます。

単一の `snappy::Compress` 呼び出しで生成される生の snappy ブロックフォーマット (たとえば `SnappyBasicReadBuffer` が処理する Prometheus リモートプロトコルのペイロード) は、これとは別のプロトコル固有のワイヤ形式であり、この設定の制御対象ではない点に注意してください。

設定可能な値:

* `basic` — Hadoop snappy ブロックフォーマット。Hadoop が読み書きするファイルと互換性があります。読み取りと書き込みの両方をサポートします。
* `framed` — Snappy framing フォーマット。Google が定義した標準的なストリーミングフォーマットです。読み取りと書き込みの両方をサポートします。

<div id="sort_overflow_mode">
  ## sort\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowMode" default_value="throw" />

ソート前に受信した行数がいずれかの制限を超えた場合の動作を設定します。

設定可能な値:

* `throw`: 例外をスローします。
* `break`: クエリの実行を停止し、部分的な結果を返します。

<div id="splitby_max_substrings_includes_remaining_string">
  ## splitby\_max\_substrings\_includes\_remaining\_string
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

引数 `max_substrings` > 0 が指定された関数 [splitBy\*()](/docs/ja/reference/functions/regular-functions/splitting-merging-functions) で、結果配列の最後の要素に残りの文字列を含めるかどうかを制御します。

設定可能な値:

* `0` - 残りの文字列は、結果配列の最後の要素に含まれません。
* `1` - 残りの文字列は、結果配列の最後の要素に含まれます。これは、Spark の [`split()`](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.split.html) 関数および Python の [`string.split()`](https://docs.python.org/3/library/stdtypes.html#str.split) メソッドと同じ動作です。

<div id="stop_refreshable_materialized_views_on_startup">
  ## stop\_refreshable\_materialized\_views\_on\_startup
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

サーバーの起動時に、SYSTEM STOP VIEWS を実行した場合と同様に、リフレッシャブルmaterialized view がスケジュールされないようにします。その後、`SYSTEM START VIEWS` または `SYSTEM START VIEW <name>` を使用して手動で開始できます。新しく作成されたビューにも適用されます。リフレッシャブルでない materialized view には影響しません。

<div id="tcp_keep_alive_timeout">
  ## tcp\_keep\_alive\_timeout
</div>

<SettingsInfoBlock type="Seconds" default_value="290" />

TCP が keepalive プローブの送信を開始するまでに、接続がアイドル状態のままである時間 (秒)

<div id="temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds">
  ## temporary\_data\_in\_cache\_reserve\_space\_wait\_lock\_timeout\_milliseconds
</div>

<SettingsInfoBlock type="UInt64" default_value="600000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "600000"},{"label": "ファイルシステムキャッシュ内の一時データで領域を予約する際に、cache を lock するまでの待機時間"}]}]} />

ファイルシステムキャッシュ内の一時データで領域を予約する際に、cache を lock するまでの待機時間

<div id="throw_if_no_data_to_insert">
  ## throw\_if\_no\_data\_to\_insert
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

空の INSERT を許可または禁止します。デフォルトで有効になっており、空の INSERT ではエラーが発生します。[`clickhouse-client`](/docs/ja/concepts/features/interfaces/cli) を使用する INSERT、または [gRPC インターフェイス](/docs/ja/concepts/features/interfaces/grpc) を使用する INSERT にのみ適用されます。

<div id="timeout_before_checking_execution_speed">
  ## timeout\_before\_checking\_execution\_speed
</div>

<SettingsInfoBlock type="Seconds" default_value="10" />

指定した秒数の経過後、実行速度が遅すぎないこと (`min_execution_speed` を下回らないこと) を確認します。

<div id="transfer_overflow_mode">
  ## transfer\_overflow\_mode
</div>

<SettingsInfoBlock type="OverflowMode" default_value="throw" />

データ量がいずれかの制限値を超えたときの動作を設定します。

設定可能な値:

* `throw`: 例外をスローします (デフォルト) 。
* `break`: クエリの実行を停止し、ソースデータが尽きた場合と同様に、
  部分的な結果を返します。

<div id="transform_null_in">
  ## transform\_null\_in
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

[IN](/docs/ja/reference/statements/in) 演算子において、[NULL](/docs/ja/reference/syntax#null) 値同士を等価として扱うようにします。

デフォルトでは、`NULL` は未定義の値を意味するため、`NULL` 値同士は比較できません。したがって、比較 `expr = NULL` は常に `false` を返します。この設定を有効にすると、`IN` 演算子では `NULL = NULL` が `true` を返します。

設定可能な値:

* 0 — `IN` 演算子での `NULL` 値の比較は `false` を返します。
* 1 — `IN` 演算子での `NULL` 値の比較は `true` を返します。

**例**

`null_in` テーブルを考えます。

```text theme={null}
┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
│    3 │     3 │
└──────┴───────┘
```

クエリ:

```sql theme={null}
SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 0;
```

結果:

```text theme={null}
┌──idx─┬────i─┐
│    1 │    1 │
└──────┴──────┘
```

クエリ:

```sql theme={null}
SELECT idx, i FROM null_in WHERE i IN (1, NULL) SETTINGS transform_null_in = 1;
```

結果:

```text theme={null}
┌──idx─┬─────i─┐
│    1 │     1 │
│    2 │  NULL │
└──────┴───────┘
```

**関連項目**

* [IN 演算子での NULL 処理](/docs/ja/reference/statements/in#null-processing)

<div id="traverse_shadow_remote_data_paths">
  ## traverse\_shadow\_remote\_data\_paths
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "system.remote_data_paths をクエリする際、実際のテーブルデータに加えて shadow ディレクトリも走査します。"}]}]} />

system.remote\_data\_paths をクエリする際、実際のテーブルデータに加えて凍結データ (shadow ディレクトリ) も走査します

<div id="union_default_mode">
  ## union\_default\_mode
</div>

`SELECT` クエリ結果を結合するモードを設定します。この設定は、`UNION ALL` または `UNION DISTINCT` を明示的に指定せずに [UNION](/docs/ja/reference/statements/select/union) を使用した場合にのみ適用されます。

設定可能な値:

* `'DISTINCT'` — ClickHouse は、重複する行を除去したうえで、クエリを結合した結果の行を出力します。
* `'ALL'` — ClickHouse は、重複する行を含めて、クエリを結合した結果のすべての行を出力します。
* `''` — `UNION` とともに使用すると、ClickHouse は例外を生成します。

例は [UNION](/docs/ja/reference/statements/select/union) を参照してください。

<div id="unique_key_max_encoded_size">
  ## unique\_key\_max\_encoded\_size
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="UInt64" default_value="256" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "256"},{"label": "新しい設定: 単一の `UNIQUE KEY` 行を順序を保持したままバイナリエンコーディングした際の最大サイズ（バイト）"}]}]} />

単一の `UNIQUE KEY` 行を順序を保持したままバイナリエンコーディングした際の最大サイズ (バイト) 。

<div id="unknown_packet_in_send_data">
  ## unknown\_packet\_in\_send\_data
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

N 番目のデータパケットでは、データの代わりに不明なパケットを送信します

<div id="variant_throw_on_type_mismatch">
  ## variant\_throw\_on\_type\_mismatch
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "デフォルトの Variant 実装における型不一致時の動作を制御する新しい設定"}]}]} />

デフォルト実装で [Variant](/docs/ja/reference/data-types/variant) カラムに関数を適用する際、
実際の型がその関数に対応していない行をどのように扱うかを制御します。

* `true` (デフォルト) — 例外をスローします。
* `false` — 代わりにそれらの行には `NULL` を返します。

<div id="wait_changes_become_visible_after_commit_mode">
  ## wait\_changes\_become\_visible\_after\_commit\_mode
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="TransactionsWaitCSNMode" default_value="wait_unknown" />

コミット済みの変更が最新のスナップショットで実際に見えるようになるまで待機します

<div id="workload">
  ## workload
</div>

<SettingsInfoBlock type="String" default_value="default" />

リソースへのアクセスに使用するワークロード名

<div id="write_full_path_in_iceberg_metadata">
  ## write\_full\_path\_in\_iceberg\_metadata
</div>

<ExperimentalBadge />

<SettingsInfoBlock type="Bool" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "0"},{"label": "新しい設定"}]}]} />

Icebergメタデータファイルに完全なパス (s3:// を含む) を書き込みます。

<div id="zstd_window_log_max">
  ## zstd\_window\_log\_max
</div>

<SettingsInfoBlock type="Int64" default_value="0" />

ZSTD の最大ウィンドウログを設定します (MergeTree family では使用されません) 。
