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

# vertical_merge_* MergeTree table settings

> ClickHouse MergeTree table settings in the vertical_merge_* generated group.

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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Default</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Changeable without restart
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

These settings are available in [system.merge\_tree\_settings](/docs/reference/system-tables/merge_tree_settings) and are autogenerated from ClickHouse source.

<h2 id="vertical_merge_algorithm_min_bytes_to_activate">
  vertical\_merge\_algorithm\_min\_bytes\_to\_activate
</h2>

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

Minimal (approximate) uncompressed size in bytes in merging parts to activate
Vertical merge algorithm.

<h2 id="vertical_merge_algorithm_min_columns_to_activate">
  vertical\_merge\_algorithm\_min\_columns\_to\_activate
</h2>

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

Minimal amount of non-PK columns to activate Vertical merge algorithm.

<h2 id="vertical_merge_algorithm_min_rows_to_activate">
  vertical\_merge\_algorithm\_min\_rows\_to\_activate
</h2>

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

Minimal (approximate) sum of rows in
merging parts to activate Vertical merge algorithm.

<h2 id="vertical_merge_optimize_lightweight_delete">
  vertical\_merge\_optimize\_lightweight\_delete
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "1"},{"label": "New setting"}]}]} />

If true, lightweight delete is optimized on vertical merge.

<h2 id="vertical_merge_optimize_ttl_delete">
  vertical\_merge\_optimize\_ttl\_delete
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Allow vertical merge algorithm for merges that need to remove rows expired by TTL"}]}]} />

If true, rows TTL delete is optimized on vertical merge. Instead of forcing horizontal merge,
the TTL filter is evaluated and passed to the merging algorithm which sets skip flags in row sources.

<h2 id="vertical_merge_remote_filesystem_prefetch">
  vertical\_merge\_remote\_filesystem\_prefetch
</h2>

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

If true prefetching of data from remote filesystem is used for the next
column during merge
