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

# force_optimize_* セッション設定

> force_optimize_* の自動生成グループに含まれる 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>;
};

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

<div id="force_optimize_projection">
  ## force\_optimize\_projection
</div>

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

プロジェクションの最適化が有効な場合 ([optimize\_use\_projections](/docs/ja/reference/settings/session-settings/optimize-use#optimize_use_projections) 設定を参照) 、`SELECT` クエリで [プロジェクション](/docs/ja/reference/engines/table-engines/mergetree-family/mergetree#projections) の使用を必須にする設定を有効または無効にします。

設定可能な値:

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

<div id="force_optimize_projection_name">
  ## force\_optimize\_projection\_name
</div>

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

設定可能な値:

* string: クエリ内で使用されるプロジェクション名

<div id="force_optimize_skip_unused_shards">
  ## force\_optimize\_skip\_unused\_shards
</div>

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

[optimize\_skip\_unused\_shards](/docs/ja/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards) が有効な場合に、未使用の分片をスキップできないとき、クエリ実行を有効または無効にします。スキップできず、この設定が有効な場合は、例外がスローされます。

設定可能な値:

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

<div id="force_optimize_skip_unused_shards_nesting">
  ## force\_optimize\_skip\_unused\_shards\_nesting
</div>

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

分散クエリのネストレベルに応じて、[`force_optimize_skip_unused_shards`](/docs/ja/reference/settings/session-settings/force-optimize#force_optimize_skip_unused_shards) の適用範囲を制御します (そのため、この設定を使用するには引き続き [`force_optimize_skip_unused_shards`](/docs/ja/reference/settings/session-settings/force-optimize#force_optimize_skip_unused_shards) が必要です) 。これは、別の `Distributed` table を参照する `Distributed` table がある場合を指します。

設定可能な値:

* 0 - 無効。`force_optimize_skip_unused_shards` は常に動作します。
* 1 — `force_optimize_skip_unused_shards` を第1レベルでのみ有効にします。
* 2 — `force_optimize_skip_unused_shards` を第2レベルまで有効にします。
