MergeTree tables settings

Whether `min_age_to_force_merge_seconds` should be applied only on the entire
partition and not on subset.

By default, ignores setting `max_bytes_to_merge_at_max_space_in_pool` (see
`enable_max_bytes_limit_for_min_age_to_force_merge`).

Possible values:

- true, false

## min\_age\_to\_force\_merge\_seconds[​](#min_age_to_force_merge_seconds "Direct link to min_age_to_force_merge_seconds")

Merge parts if every part in the range is older than the value of
`min_age_to_force_merge_seconds`.

By default, ignores setting `max_bytes_to_merge_at_max_space_in_pool`
(see `enable_max_bytes_limit_for_min_age_to_force_merge`).

Possible values:

- Positive integer.

## min\_bytes\_for\_compact\_part[​](#min_bytes_for_compact_part "Direct link to min_bytes_for_compact_part")

Obsolete setting, does nothing.

## min\_bytes\_for\_full\_part\_storage[​](#min_bytes_for_full_part_storage "Direct link to min_bytes_for_full_part_storage")

Only available in ClickHouse Cloud. Minimal uncompressed size in bytes to
use full type of storage for data part instead of packed

## min\_bytes\_for\_wide\_part[​](#min_bytes_for_wide_part "Direct link to min_bytes_for_wide_part")

Minimum number of bytes/rows in a data part that can be stored in `Wide`
format. You can set one, both or none of these settings.

## min\_bytes\_to\_prewarm\_caches[​](#min_bytes_to_prewarm_caches "Direct link to min_bytes_to_prewarm_caches")

Minimal size (uncompressed bytes) to prewarm mark cache and primary index cache
for new parts

## min\_bytes\_to\_rebalance\_partition\_over\_jbod[​](#min_bytes_to_rebalance_partition_over_jbod "Direct link to min_bytes_to_rebalance_partition_over_jbod")

Sets minimal amount of bytes to enable balancing when distributing new big
parts over volume disks [JBOD](https://en.wikipedia.org/wiki/Non-RAID_drive_architectures).

Possible values:

- Positive integer.
- `0` — Balancing is disabled.

**Usage**

The value of the `min_bytes_to_rebalance_partition_over_jbod` setting should
not be less than the value of the
[max\_bytes\_to\_merge\_at\_max\_space\_in\_pool](/docs/operations/settings/merge-tree-settings#max_bytes_to_merge_at_max_space_in_pool)
/ 1024. Otherwise, ClickHouse throws an exception.

## min\_columns\_to\_activate\_adaptive\_write\_buffer[​](#min_columns_to_activate_adaptive_write_buffer "Direct link to min_columns_to_activate_adaptive_write_buffer")

Allow to reduce memory usage for tables with lots of columns by using adaptive writer buffers.

Possible values:

- 0 - unlimited
- 1 - always enabled

## min\_compress\_block\_size[​](#min_compress_block_size "Direct link to min_compress_block_size")

Minimum size of blocks of uncompressed data required for compression when
writing the next mark. You can also specify this setting in the global settings
(see [min\_compress\_block\_size](/docs/operations/settings/merge-tree-settings#min_compress_block_size)
setting). The value specified when the table is created overrides the global value
for this setting.

## min\_compressed\_bytes\_to\_fsync\_after\_fetch[​](#min_compressed_bytes_to_fsync_after_fetch "Direct link to min_compressed_bytes_to_fsync_after_fetch")

Minimal number of compressed bytes to do fsync for part after fetch (0 - disabled)

## min\_compressed\_bytes\_to\_fsync\_after\_merge[​](#min_compressed_bytes_to_fsync_after_merge "Direct link to min_compressed_bytes_to_fsync_after_merge")

Minimal number of compressed bytes to do fsync for part after merge (0 - disabled)

## min\_delay\_to\_insert\_ms[​](#min_delay_to_insert_ms "Direct link to min_delay_to_insert_ms")

Min delay of inserting data into MergeTree table in milliseconds, if there
are a lot of unmerged parts in single partition.

## min\_delay\_to\_mutate\_ms[​](#min_delay_to_mutate_ms "Direct link to min_delay_to_mutate_ms")

Min delay of mutating MergeTree table in milliseconds, if there are a lot of
unfinished mutations

## min\_free\_disk\_bytes\_to\_perform\_insert[​](#min_free_disk_bytes_to_perform_insert "Direct link to min_free_disk_bytes_to_perform_insert")

The minimum number of bytes that should be free in disk space in order to
insert data. If the number of available free bytes is less than
`min_free_disk_bytes_to_perform_insert` then an exception is thrown and the
insert is not executed. Note that this setting:

- takes into account the `keep_free_space_bytes` setting.
- does not take into account the amount of data that will be written by the
  `INSERT` operation.
- is only checked if a positive (non-zero) number of bytes is specified

Possible values:

- Any positive integer.

Note

If both `min_free_disk_bytes_to_perform_insert` and `min_free_disk_ratio_to_perform_insert`
are specified, ClickHouse will count on the value that will allow to perform
inserts on a bigger amount of free memory.

## min\_free\_disk\_ratio\_to\_perform\_insert[​](#min_free_disk_ratio_to_perform_insert "Direct link to min_free_disk_ratio_to_perform_insert")

The minimum free to total disk space ratio to perform an `INSERT`. Must be a
floating point value between 0 and 1. Note that this setting:

- takes into account the `keep_free_space_bytes` setting.
- does not take into account the amount of data that will be written by the
  `INSERT` operation.
- is only checked if a positive (non-zero) ratio is specified

Possible values:

- Float, 0.0 - 1.0

Note that if both `min_free_disk_ratio_to_perform_insert` and
`min_free_disk_bytes_to_perform_insert` are specified, ClickHouse will count
on the value that will allow to perform inserts on a bigger amount of free
memory.

## min\_index\_granularity\_bytes[​](#min_index_granularity_bytes "Direct link to min_index_granularity_bytes")

Min allowed size of data granules in bytes.

To provide a safeguard against accidentally creating tables with very low
`index_granularity_bytes`.

## min\_level\_for\_full\_part\_storage[​](#min_level_for_full_part_storage "Direct link to min_level_for_full_part_storage")

Only available in ClickHouse Cloud. Minimal part level to
use full type of storage for data part instead of packed

## min\_level\_for\_wide\_part[​](#min_level_for_wide_part "Direct link to min_level_for_wide_part")

Minimal part level to create a data part in `Wide` format instead of `Compact`.

## min\_marks\_to\_honor\_max\_concurrent\_queries[​](#min_marks_to_honor_max_concurrent_queries "Direct link to min_marks_to_honor_max_concurrent_queries")

The minimal number of marks read by the query for applying the [max\_concurrent\_queries](#max_concurrent_queries)
setting.

Note

Queries will still be limited by other `max_concurrent_queries` settings.

Possible values:

- Positive integer.
- `0` — Disabled (`max_concurrent_queries` limit applied to no queries).

**Example**

```
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>
```

## min\_merge\_bytes\_to\_use\_direct\_io[​](#min_merge_bytes_to_use_direct_io "Direct link to min_merge_bytes_to_use_direct_io")

The minimum data volume for merge operation that is required for using direct
I/O access to the storage disk. When merging data parts, ClickHouse calculates
the total storage volume of all the data to be merged. If the volume exceeds
`min_merge_bytes_to_use_direct_io` bytes, ClickHouse reads and writes the
data to the storage disk using the direct I/O interface (`O_DIRECT` option).
If `min_merge_bytes_to_use_direct_io = 0`, then direct I/O is disabled.

## min\_parts\_to\_merge\_at\_once[​](#min_parts_to_merge_at_once "Direct link to min_parts_to_merge_at_once")

Minimal amount of data parts which merge selector can pick to merge at once
(expert level setting, don't change if you don't understand what it is doing).
0 - disabled. Works for Simple and StochasticSimple merge selectors.

## min\_relative\_delay\_to\_close[​](#min_relative_delay_to_close "Direct link to min_relative_delay_to_close")

Minimal delay from other replicas to close, stop serving
requests and not return Ok during status check.

## min\_relative\_delay\_to\_measure[​](#min_relative_delay_to_measure "Direct link to min_relative_delay_to_measure")