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

# min_* MergeTree テーブル設定

> min_* 生成グループの 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 のソースコードから自動生成されています。

## min\_absolute\_delay\_to\_close

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

クローズしてリクエストの処理を停止し、ステータスチェックで OK を返さなくなるまでの最小の絶対遅延。

## min\_columns\_to\_activate\_adaptive\_write\_buffer

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

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

適応型の書き込みバッファを使用することで、多数のカラムを持つテーブルのメモリ使用量を削減できます。

wide パーツが書き込むストリーム数と比較されます。この数はカラム数を大幅に超える可能性があります。
多数のバケットを持つ `Map` や、深くネストされた `Array` または `Tuple` は、単一のカラムに対して多数のストリームに書き込み、
ストリームごとに1つの書き込みバッファが割り当てられます。

設定可能な値:

* 0 - 無効
* 1 - 常に有効

## min\_compress\_block\_size

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

次の マーク の書き込み時に圧縮を行うために必要な、非圧縮データの block の最小サイズです。この設定はグローバル設定でも指定できます
([min\_compress\_block\_size](/ja/reference/settings/merge-tree-settings/min#min_compress_block_size)
設定を参照) 。テーブルの作成時に指定した値は、この設定のグローバル値を上書きします。

## min\_index\_granularity\_bytes

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

データ granule の最小許容サイズ (バイト単位) 。

`index_granularity_bytes` が極端に小さいテーブルを誤って作成しないようにするための安全策です。

## min\_marks\_to\_honor\_max\_concurrent\_queries

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

[max\_concurrent\_queries](/ja/reference/settings/merge-tree-settings/max#max_concurrent_queries)
設定を適用するために、クエリが読み取るマークの最小数です。

<Note>
  クエリは引き続き、他の `max_concurrent_queries` 設定による制限を受けます。
</Note>

設定可能な値:

* 正の整数。
* `0` — 無効 (`max_concurrent_queries` の制限はどのクエリにも適用されません) 。

**例**

```xml theme={null}
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>
```

## min\_merge\_bytes\_to\_use\_direct\_io

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

ストレージディスクへの direct
I/O アクセスを使用するために必要な、マージ操作の最小データ量です。データパーツをマージする際、ClickHouse は
マージ対象となるすべてのデータの合計ストレージ容量を計算します。その容量が
`min_merge_bytes_to_use_direct_io` バイトを超えると、ClickHouse は
direct I/O インターフェイス (`O_DIRECT` オプション) を使用して、ストレージディスクに対するデータの読み取りと書き込みを行います。
`min_merge_bytes_to_use_direct_io = 0` の場合、direct I/O は無効になります。

## min\_partition\_age\_to\_force\_merge\_seconds

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "insert を受け付けなくなったパーティション内のパーツの merge を強制するための新しい設定"}]}]} />

パーティション内のすべてのパーツがこの値より古い場合、つまりそのパーティションが
すでに insert を受け付けていない場合に、そのパーティション内のパーツを merge します。
`min_age_to_force_merge_on_partition_only` と併用する
`min_age_to_force_merge_seconds` とは異なり、パーティション全体が単一の merge に
収まる必要はありません。各 merge は引き続き
`max_bytes_to_merge_at_max_space_in_pool` に従います。Simple および
StochasticSimple の merge selector で動作します。

ここで比較される経過時間は、パーティション内で最も新しいパーツの経過時間
(`now - modification_time` をパーツ間で最小化した値)です。したがって、この
ルールはすべてのパーツがこの値を超えて古くなって初めて発動します。新しいパーツが
作られるとこの経過時間はリセットされます。insert や mutation はもちろん、この設定自体が
割り当てた各 merge も同様です。merge 後のパーツは新しいパーツだからです。そのため、
強制 merge が実行されるとその時点で強制は解除され、新しいパーツが作られないまま
この値が再び経過して初めて再び発動します。複数回の merge を必要とするパーティションは、
1 回の連続した処理ではなく、この interval を空けた複数のラウンドにわたって
compact 化されていきます。

強制の動作は `min_age_to_force_merge_seconds` とまったく同じです。通常であれば
不均衡な merge の割り当てを妨げるサイズ比の要件を免除し、さらに
`min_parts_to_merge_at_once` の下限も免除します。そのため、強制 merge はその下限が
求める数より少ないパーツを対象とすることがあります。それ以外の heuristic は無効化されません。
`merge_selector_window_size` は引き続き検査対象のパーツを制限し、
`merge_selector_enable_heuristic_to_remove_small_parts_at_right` も引き続き、
3 つ以上のパーツからなる選択範囲の末尾にある小さなパーツを trim します。
workload の都合でこれらを無効にする必要がある場合は、それぞれの設定で明示的に
無効化してください。

Simple および StochasticSimple の merge selector では、
`min_age_to_force_merge_on_partition_only` と併用した
`min_age_to_force_merge_seconds` とは組み合わせられません。この組み合わせは
パーティション全体を一度に merge し、そのような merge のみが FINAL として
マークされます。これにより `ReplacingMergeTree` で `CLEANUP` を実行できるようになります。
パーティションの経過時間によって regular merges を強制すると、これを妨げてしまいます。
単一の merge に収まるパーティションにはこの組み合わせを、収まらないパーティションには
この設定を使用してください。その他の selector はこの設定を無視するため、それらとの
組み合わせは許容されます。

設定可能な値:

* 正の整数。

## min\_parts\_to\_merge\_at\_once

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

merge selector が一度に選択して merge できる データパーツ の最小数
(上級者向けの設定です。何をするものか理解していない場合は変更しないでください) 。
0 - 無効。Simple および StochasticSimple merge selector で機能します。

## min\_replicated\_logs\_to\_keep

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

廃止された場合でも、ZooKeeper のログ内の最新レコードをこの件数程度まで保持します。これはテーブルの動作には影響せず、クリーンアップ前の ZooKeeper ログを診断するためにのみ使用されます。

設定可能な値:

* 任意の正の整数。
