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

# max_rows_* セッション設定

> max_rows_* グループで生成される 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="max_rows_for_lazy_final">
  ## max\_rows\_for\_lazy\_final
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "10000000"},{"label": "遅延実行 FINAL 最適化で使用する集合の最大行数に関する新しい設定"}]}]} />

遅延実行 FINAL 最適化で使用する集合の最大行数です。これを超えると、通常の FINAL にフォールバックします。

<div id="max_rows_in_distinct">
  ## max\_rows\_in\_distinct
</div>

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

DISTINCT 使用時の異なる行の最大数。

<div id="max_rows_in_join">
  ## max\_rows\_in\_join
</div>

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

テーブルの結合時に使用される右側のデータ構造 (通常はハッシュテーブル) 内の行数を制限します。

この設定は、[SELECT ... JOIN](/docs/ja/reference/statements/select/join)
操作と [Join](/docs/ja/reference/engines/table-engines/special/join) テーブルエンジンに適用されます。

クエリに複数の JOIN が含まれている場合、ClickHouse は各
中間結果に対してこの設定を確認します。制限に達した場合の動作は、
選択した [`join_algorithm`](/docs/ja/reference/settings/session-settings/join#join_algorithm) に依存します。アルゴリズムごとの挙動 (spill、再パーティション、切り替え、または
[`join_overflow_mode`](/docs/ja/reference/settings/session-settings/join#join_overflow_mode) に応じた throw/break) については、その設定を参照してください。

設定可能な値:

* 正の整数。
* `0` — 行数は無制限。

<div id="max_rows_in_set">
  ## max\_rows\_in\_set
</div>

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

サブクエリから作成される IN clause 内のデータセットの最大行数。

<div id="max_rows_in_set_to_optimize_join">
  ## max\_rows\_in\_set\_to\_optimize\_join
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "read in order 最適化を妨げるため、join 最適化を無効化"}]}]} />

結合前に、互いの行セットを使って結合対象のテーブルを絞り込む際のセットの最大サイズです。

設定可能な値:

* 0 — 無効。
* 任意の正の整数。

<div id="max_rows_to_group_by">
  ## max\_rows\_to\_group\_by
</div>

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

集約で取得される一意のキーの最大数です。この設定により、
集約時のメモリ消費を抑えられます。

GROUP BY による集約で、指定した数を超える
行 (一意の GROUP BY キー) が生成された場合の動作は、
既定では 'group\_by\_overflow\_mode' の `throw` によって決まりますが、
近似 GROUP BY モードに切り替えることもできます。

<div id="max_rows_to_read">
  ## max\_rows\_to\_read
</div>

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

クエリの実行時にテーブルから読み取ることができる最大行数です。
この制限は、処理される各データ chunk ごとにチェックされ、最も内側の
テーブル式にのみ適用されます。また、リモートサーバーから読み取る場合は、
リモートサーバー上でのみチェックされます。

<div id="max_rows_to_read_leaf">
  ## max\_rows\_to\_read\_leaf
</div>

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

分散クエリの実行時に、リーフノード上のローカルテーブルから読み取れる行数の上限です。
分散クエリでは各分片 (リーフ) に対して複数のサブクエリが発行される場合がありますが、
この制限が適用されるのはリーフノードでの読み取り段階のみであり、
ルートノードで結果をマージする段階では無視されます。

たとえば、あるクラスターが 2 つの分片で構成され、各分片に
100 行を含むテーブルがあるとします。両方のテーブルからすべてのデータを
読み取る分散クエリは、設定 `max_rows_to_read=150` の場合、合計で
200 行になるため失敗します。一方、`max_rows_to_read_leaf=150` を指定した
クエリは成功します。これは、リーフノードでは最大でも 100 行しか
読み取られないためです。

この制限は、処理される各 chunk ごとにチェックされます。

<Note>
  この設定は、`prefer_localhost_replica=1` と併用すると不安定です。
</Note>

<div id="max_rows_to_sort">
  ## max\_rows\_to\_sort
</div>

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

ソート前の行数の上限です。これにより、ソート時のメモリ消費を抑えられます。
ORDER BY の処理で指定された数を超えるレコードを処理する必要がある場合、
その動作は `sort_overflow_mode` によって決まり、デフォルトでは `throw` に設定されています。

<div id="max_rows_to_transfer">
  ## max\_rows\_to\_transfer
</div>

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

GLOBAL IN/JOIN セクションの実行時に、リモートサーバーに渡したり、
一時テーブルに保存したりできる最大サイズ (行数) 。
