> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# max_* MergeTree テーブル設定

> max_* の生成グループに含まれる ClickHouse MergeTree テーブル設定。

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["バージョン", "デフォルト値", "コメント"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        バージョン履歴
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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.merge\_tree\_settings](/ja/reference/system-tables/merge_tree_settings) に記載されており、ClickHouse のソースコードから自動生成されています。

## max\_avg\_part\_size\_for\_too\_many\_parts

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

`parts_to_delay_insert` および
`parts_to_throw_insert` に基づく「パーツが多すぎる」チェックは、平均パーツサイズ (該当する
パーティション内) が指定したしきい値以下の場合にのみ有効になります。平均パーツサイズが
指定したしきい値を上回る場合、INSERT は遅延も拒否もされません。
これにより、パーツがより大きなパーツへ正常にマージされている限り、単一の
サーバー上の単一のテーブルで数百テラバイトを扱えるようになります。これは
非アクティブなパーツ数や総パーツ数に対するしきい値には影響しません。

## max\_buckets\_in\_map

<SettingsInfoBlock type="NonZeroUInt64" default_value="32" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "32"},{"label": "'with_buckets' Map シリアライゼーションのバケット数の上限を制御する設定を追加"}]}]} />

`Map` シリアライゼーションにおけるバケット数の上限です。`with_buckets` `Map` シリアライゼーションで使用されます。
実際のバケット数は [map\_buckets\_strategy](/ja/reference/settings/merge-tree-settings/map-buckets#map_buckets_strategy) によって決まります。
許容される最大値は 256 です。

## max\_cleanup\_delay\_period

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

古いキューログ、ブロックのハッシュ、およびパーツをクリーンアップする最大間隔です。

## max\_compress\_block\_size

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

テーブルへ書き込む際に圧縮する前の、非圧縮データのブロックの最大サイズです。
この設定はグローバル設定でも指定できます
([max\_compress\_block\_size](/ja/reference/settings/merge-tree-settings/max#max_compress_block_size)
設定を参照) 。テーブルの作成時に指定した値は、この設定のグローバル値より優先されます。

## max\_concurrent\_queries

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

MergeTree テーブル に関連して同時実行されるクエリの最大数です。
クエリは、他の `max_concurrent_queries` 設定によっても引き続き制限されます。

設定可能な値:

* 正の整数。
* `0` — 制限なし。

デフォルト値: `0` (制限なし) 。

**例**

```xml theme={null}
<max_concurrent_queries>50</max_concurrent_queries>
```

## max\_digestion\_size\_per\_segment

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "268435456"},{"label": "廃止された設定"}]}]} />

廃止された設定であり、効果はありません。

## max\_file\_name\_length

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

ハッシュ化せずにそのまま保持するファイル名の最大長です。
この設定は、設定 `replace_long_file_name_to_hash` が有効な場合にのみ機能します。
この設定の値にはファイル拡張子の長さは含まれません。そのため、
filesystem エラーを避けるには、最大ファイル名長 (通常は 255
バイト) よりも、ある程度のギャップを持たせて小さめに設定することを推奨します。

## max\_partitions\_to\_read

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

1 つのクエリでアクセスできるパーティションの最大数を制限します。

テーブル の作成時に指定したこの設定値は、
クエリレベルの設定で上書きできます。

設定可能な値:

* 任意の正の整数。

クエリ / session / profile レベルで、クエリ複雑度の設定 [max\_partitions\_to\_read](/ja/reference/settings/session-settings/max-partitions#max_partitions_to_read) を指定することもできます。

## max\_projections

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

MergeTreeプロジェクションの最大数。

## max\_table\_size\_bytes\_compressed

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "テーブルのすべてのアクティブおよび非アクティブなデータパーツにわたる圧縮バイト数の合計を制限する新しい設定。"}]}]} />

テーブルのすべてのアクティブおよび非アクティブなデータパーツにわたる圧縮バイト数 (ディスク上のサイズ) の合計がこの値を超えると、`INSERT` は `Table size limit exceeded` 例外により中断されます。この設定の目的はディスク使用量を制限することであるため、非アクティブなパーツも計上されます。なお、非アクティブなパーツはバックグラウンドで削除されるため (`old_parts_lifetime` 設定を参照) 、観測されるサイズは時間の経過とともに減少することがあります。この制限は `INSERT` の開始時と、新しいデータパーツがワーキングセットにコミットされるとき (バックグラウンドマージやミューテーションの結果を含む) にチェックされます。materialized view による挿入もチェック対象です。一方、レプリケーションフェッチではチェックされないため、複数のレプリカへ並列に挿入した場合に制限を超過してしまうレースコンディションが起こり得ます。空のデータパーツのコミットは常に許可されるため、制限を超えたテーブルからでも、たとえば `TRUNCATE` や `ALTER TABLE ... DROP PARTITION` でデータを削除できます。

設定可能な値:

* 任意の正の整数。
* 0 — 無制限。

マルチテナント、一時的な用途、デモ用のサービスで有用です。

## max\_table\_size\_bytes\_uncompressed

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "テーブル内のすべてのアクティブおよび非アクティブなデータパーツの非圧縮バイト数の合計を制限する新しい設定。"}]}]} />

`max_table_size_bytes_compressed` と同じですが、制限はテーブル内のすべてのアクティブ
および非アクティブなデータパーツの非圧縮バイト数の合計に対して適用されます。

設定可能な値:

* 任意の正の整数。
* 0 — 無制限。

マルチテナント、一時的な用途、デモ用のサービスで役立ちます。

## max\_table\_size\_rows

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "テーブルのアクティブなデータパーツに含まれる行の総数を制限する新しい設定。"}]}]} />

テーブルのアクティブなデータパーツに含まれる行の総数がこの値を超えると、
`INSERT` は `Table size limit exceeded` 例外で中断されます。この制限は
`INSERT` の開始時、および新しいデータパーツがワーキングセットにコミットされる際
(バックグラウンドマージおよびミューテーションの結果を含む) にチェックされます
(したがって、テーブルサイズを制限を超えて増加させるミューテーションは、完了しないまま
リトライされ続けます) 。materialized view による挿入もチェック対象です。一方、
レプリケーションフェッチではチェックされないため、複数のレプリカへ並列に挿入した場合に
制限を超過してしまうレースコンディションが発生し得ます。空のデータパーツのコミットは常に許可
されるため、制限を超えたテーブルからデータを削除することは可能です。たとえば
`TRUNCATE` や `ALTER TABLE ... DROP PARTITION` を使用できます。

設定可能な値:

* 任意の正の整数。
* 0 — 無制限。

マルチテナント、一時的、デモ用のサービスで有用です。

## max\_uncompressed\_bytes\_in\_patches

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

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

すべてのパッチパート内のデータの非圧縮サイズの合計の上限 (バイト単位) 。
すべてのパッチパート内のデータ量がこの値を超えると、論理更新は拒否されます。
0 - 無制限。
