> ## 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.

# use_* セッション設定

> use_* で生成されるグループ内の 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 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="use_async_executor_for_materialized_views">
  ## use\_async\_executor\_for\_materialized\_views
</div>

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

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

materialized view のクエリ実行に async、場合によってはマルチスレッド実行を使用します。これにより、INSERT 時の view の処理を高速化できますが、メモリ消費量が増える可能性があります。

<div id="use_cache_for_count_from_files">
  ## use\_cache\_for\_count\_from\_files
</div>

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

table function `file`/`s3`/`url`/`hdfs`/`azureBlobStorage` で、ファイルから件数をカウントする際の行数のキャッシュを有効にします。

デフォルトで有効です。

<div id="use_client_time_zone">
  ## use\_client\_time\_zone
</div>

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

DateTime 文字列の値を解釈する際に、server timezone ではなくクライアントのタイムゾーンを使用します。

<div id="use_compact_format_in_distributed_parts_names">
  ## use\_compact\_format\_in\_distributed\_parts\_names
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "デフォルトで、分散テーブルへの非同期 INSERT に compact フォーマットを使用"}]}]} />

`Distributed` エンジンのテーブルに対するバックグラウンド (`distributed_foreground_insert`) INSERT で、ブロックの保存に compact フォーマットを使用します。

設定可能な値:

* 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` も変わるため、注意してください。
</Note>

<div id="use_concurrency_control">
  ## use\_concurrency\_control
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "1"},{"label": "デフォルトで同時実行制御を有効化"}]}]} />

サーバーの同時実行制御 (グローバルなサーバー設定 `concurrent_threads_soft_limit_num` および `concurrent_threads_soft_limit_ratio_to_cores` を参照) を適用します。無効にすると、サーバーが過負荷状態でもより多くのスレッドを使用できるようになります (通常の用途では推奨されず、主にテストで必要になります) 。

<div id="use_constant_folding_in_index_analysis">
  ## use\_constant\_folding\_in\_index\_analysis
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "MergeTree の索引解析時に、各パーツごとのフィルタ条件へパーティション単位の定数を畳み込み、パーティション値に依存する分岐を持つフィルタの プルーニング を改善するための新しい設定。"}]}]} />

パーツごとの主キーおよびスキップ索引の解析時に、パーティション単位の定数をフィルタ条件に代入します。

パーティションキーが、主キーカラムまたはスキップ索引のカラムと一緒にフィルタに現れる場合、この設定により、索引解析時に各パーツ内でパーティション値を個別に畳み込めるようになります。特に、異なるパーティションを対象とする分岐を含む OR 条件のフィルタで有効です。たとえば、`PARTITION BY a` と `ORDER BY b` の場合:

```sql theme={null}
SELECT * FROM t WHERE (a = 1 AND b >= 1) OR (a = 2 AND b > 10) OR (a = 3 AND b > 10)
```

パーティション `a = 1` のパートでは、この条件は `b >= 1` に畳み込まれます。一方、パーティション `a = 2` と `a = 3` では `b > 10` に畳み込まれるため、各パートは実際に適用される述語に基づいて解析されます。

設定可能な値:

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

<div id="use_hash_table_stats_for_join_reordering">
  ## use\_hash\_table\_stats\_for\_join\_reordering
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "新しい設定。以前は 'collect_hash_table_stats_during_joins' 設定と同じ動作でした。"}]}]} />

join の並べ替え時に、カーディナリティ推定のために収集した hash table 統計を使用することを有効にします

<div id="use_hedged_requests">
  ## use\_hedged\_requests
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.9"},{"label": "1"},{"label": "Hedged Requests 機能をデフォルトで有効化"}]}]} />

リモートクエリに対する hedged requests のロジックを有効にします。これにより、クエリのために異なるレプリカへの複数の接続を確立できます。
既存の接続が `hedged_connection_timeout` 以内にレプリカに確立されなかった場合、または `receive_data_timeout` 以内にデータを受信しなかった場合は、新しい接続が有効になります。クエリは、空でない Progress パケット (`allow_changing_replica_until_first_data_packet` が有効な場合は Data パケット) を最初に送信した接続を使用し、他の接続はキャンセルされます。`max_parallel_replicas > 1` のクエリもサポートされます。

デフォルトで有効です。

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

<div id="use_hive_partitioning">
  ## use\_hive\_partitioning
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "この設定がデフォルトで有効になりました。"}]}, {"id": "row-2","items": [{"label": "24.8"},{"label": "0"},{"label": "File、URL、S3、AzureBlobStorage、HDFS エンジンで Hive スタイルのパーティション化を使用できるようにします。"}]}]} />

有効にすると、ClickHouse はファイル系のテーブルエンジン [File](/docs/ja/reference/functions/table-functions/file#hive-style-partitioning)/[S3](/docs/ja/reference/functions/table-functions/s3#hive-style-partitioning)/[URL](/docs/ja/reference/functions/table-functions/url#hive-style-partitioning)/[HDFS](/docs/ja/reference/functions/table-functions/hdfs#hive-style-partitioning)/[AzureBlobStorage](/docs/ja/reference/functions/table-functions/azureBlobStorage#hive-style-partitioning) のパス (`/name=value/`) にある Hive スタイルのパーティション化を検出し、パーティションカラムをクエリ内で仮想カラムとして使用できるようにします。これらの仮想カラムの名前は、パーティション化されたパス内の名前と同じですが、先頭に `_` が付きます。

<div id="use_join_disjunctions_push_down">
  ## use\_join\_disjunctions\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "この最適化を有効化しました。"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "新しい設定"}]}]} />

JOIN 条件のうち OR で結合された部分を、対応する入力側にプッシュダウン (「部分的なプッシュダウン」) できるようにします。
これにより、ストレージエンジンがより早い段階でフィルタリングできるため、読み取るデータ量を削減できます。
この最適化は意味を変えず、各最上位の OR 分岐が対象側に対して少なくとも 1 つの決定論的な述語を含む場合にのみ適用されます。

<div id="use_legacy_to_time">
  ## use\_legacy\_to\_time
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "デフォルトでは、従来の `toTime` ではなく、新しい `toTime` 関数（値を `Time` データ型に変換）を使用します（従来の関数は引き続き `toTimeWithFixedDate` として利用できます）。"}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "1"},{"label": "新しい設定。toTime の従来の関数ロジックを使用できるようにします。これは toTimeWithFixedDate と同様に動作します。"}]}]} />

有効にすると、従来の toTime 関数を使用できます。この関数は、日時の時刻部分を保持したまま、特定の固定日付に変換します。
無効の場合は、新しい toTime 関数が使用され、さまざまな型のデータを Time 型に変換します。
従来の関数は、常に toTimeWithFixedDate としても利用できます。

<div id="use_lightweight_primary_key_index_analysis">
  ## use\_lightweight\_primary\_key\_index\_analysis
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "長い主キーを持つテーブル向けに主キー索引解析を最適化する新しい設定"}]}]} />

長い主キーを持つ `MergeTree` テーブルの主キー索引解析を最適化します。

有効にすると、索引解析の実行時間は主キーの長さではなく、主にクエリのフィルタの複雑さ (実際に使用されるキーカラム) に依存します。そのため、一部のカラムだけでフィルタするクエリでは、ソートキーを拡張しても索引解析に対する追加のオーバーヘッドはごくわずかです。

設定可能な値:

* 0 — 無効。索引解析時にすべての主キーカラムが処理されます。
* 1 — 有効。

<div id="use_parquet_metadata_cache">
  ## use\_parquet\_metadata\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Parquet ファイルのメタデータキャッシュを有効にします。"}]}]} />

有効にすると、Parquet フォーマットで Parquet メタデータキャッシュを利用できます。

設定可能な値:

* 0 - 無効
* 1 - 有効

<div id="use_primary_key">
  ## use\_primary\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "MergeTree でグラニュールレベルのプルーニングに主キーを使用するかどうかを制御する新しい設定。"}]}]} />

MergeTree テーブルのクエリ実行時に、グラニュールのプルーニングに主キーを使用します。

設定可能な値:

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

<div id="use_reader_executor">
  ## use\_reader\_executor
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "従来の読み取りバッファの入れ子構造ではなく、新しいパイプライン ReaderExecutor を介して読み取りをルーティングするための新しい実験的設定。"}]}]} />

実験的機能です。従来の読み取りバッファの入れ子構造ではなく、新しいパイプライン `ReaderExecutor` を介して読み取りをルーティングします。executor がまだサポートしていない構成では、従来のパスにフォールバックします。

<div id="use_roaring_bitmap_iceberg_positional_deletes">
  ## use\_roaring\_bitmap\_iceberg\_positional\_deletes
</div>

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

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

Iceberg の positional deletes に対して roaring bitmap を使用します。

<div id="use_streaming_marks_compression">
  ## use\_streaming\_marks\_compression
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "marks を最初に完全な生の marks 配列としてマテリアライズするのではなく、1 block ずつメモリ内表現に圧縮（streaming）するための新しい設定です。これにより、多数の substreams を持つ compact パーツでの marks 読み込み時のピークメモリ使用量を削減します。"}]}]} />

MergeTree パーツの marks を読み込む際、最初に完全な生の marks 配列としてマテリアライズするのではなく、1 block ずつメモリ内表現に圧縮 (streaming) します。これにより、多数の substreams を持つ compact パーツ (たとえば、JSON カラムを持ち、write\_marks\_for\_substreams\_in\_compact\_parts が有効なテーブル) での marks 読み込み時のピークメモリ使用量を大幅に削減できます。

<div id="use_strict_insert_block_limits">
  ## use\_strict\_insert\_block\_limits
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "INSERT 時に厳密な最小／最大の挿入範囲を使用するための新しい設定です。min < max の場合は、max の制限が優先されます。"}]}]} />

有効にすると、最小および最大の挿入ブロックサイズ制限の両方が厳密に適用されます。

ブロックは次の場合に生成されます:

* 最小しきい値 (AND): min\_insert\_block\_size\_rows と min\_insert\_block\_size\_bytes の両方に達した場合。
* 最大しきい値 (OR): max\_insert\_block\_size\_rows または max\_insert\_block\_size\_bytes のいずれかに達した場合。

無効な場合、ブロックは次の場合に生成されます:

* 最小しきい値 (OR): min\_insert\_block\_size\_rows または min\_insert\_block\_size\_bytes のいずれかに達した場合。

**注**: max の設定が min の設定より小さい場合は、max の制限が優先され、最小しきい値に達する前にブロックが生成されます。

**注**: この設定は非同期 INSERT では自動的に無効になります。これは、非同期 INSERT ではエントリごとの重複排除トークンが付加され、これが厳密な制限の適用に必要なブロックの分割と両立しないためです。

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

<div id="use_structure_from_insertion_table_in_table_functions">
  ## use\_structure\_from\_insertion\_table\_in\_table\_functions
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.11"},{"label": "2"},{"label": "table function で挿入先テーブルの構造を使用するよう改善"}]}]} />

データからスキーマを推論する代わりに、挿入先テーブルの構造を使用します。設定可能な値: 0 - 無効、1 - 有効、2 - 自動

<div id="use_uncompressed_cache">
  ## use\_uncompressed\_cache
</div>

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

非圧縮ブロックのキャッシュを使用するかどうかを指定します。`0` または `1` を受け付けます。既定値は `0` (無効) です。
非圧縮キャッシュ (MergeTree family のテーブルでのみ有効) を使用すると、多数の短いクエリを扱う際のレイテンシを大幅に低減し、スループットを向上させることができます。短いリクエストを頻繁に送信するユーザーには、この設定を有効にしてください。また、[uncompressed\_cache\_size](/docs/ja/reference/settings/server-settings/settings#uncompressed_cache_size) 設定パラメータ (設定ファイルでのみ設定可能) にも注意してください。これは非圧縮キャッシュブロックのサイズです。既定では 8 GiB です。非圧縮キャッシュは必要に応じて格納され、使用頻度の低いデータは自動的に削除されます。

ある程度大きな量のデータ (100 万行以上) を読み取るクエリでは、本当に小さなクエリのための領域を確保するために、非圧縮キャッシュは自動的に無効になります。つまり、`use_uncompressed_cache` 設定は常に `1` のままにしておくことができます。

<div id="use_with_fill_by_sorting_prefix">
  ## use\_with\_fill\_by\_sorting\_prefix
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "1"},{"label": "ORDER BY 句で WITH FILL カラムより前にあるカラムは、ソートプレフィックスとなります。ソートプレフィックスの値が異なる行は、それぞれ独立して補完されます"}]}]} />

ORDER BY 句で WITH FILL カラムより前にあるカラムは、ソートプレフィックスとなります。ソートプレフィックスの値が異なる行は、それぞれ独立して補完されます
