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

> Настройки ClickHouse для таблиц семейства MergeTree из сгенерированной группы max_*.

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](/ru/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": "Добавлена настройка, управляющая максимальным количеством бакетов для сериализации `Map` `with_buckets`"}]}]} />

Максимальное количество бакетов для сериализации `Map`. Применяется к сериализации `Map` `with_buckets`.
Фактическое количество бакетов определяется настройкой [map\_buckets\_strategy](/ru/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](/ru/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`.
Значение этой настройки не включает длину расширения файла. Поэтому
рекомендуется задавать его меньше максимальной длины имени файла (обычно 255
байт), оставляя некоторый запас, чтобы избежать ошибок файловой системы.

## max\_partitions\_to\_read

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

Ограничивает максимальное количество партиций, к которым можно обратиться в рамках одного запроса.

Значение настройки, указанное при создании таблицы, можно переопределить
на уровне запроса.

Возможные значения:

* Любое положительное целое число.

Эту настройку ограничения сложности запроса [max\_partitions\_to\_read](/ru/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 views, также проверяются. При
репликационных загрузках ограничение не проверяется, из-за чего возможно состояние гонки,
когда параллельные вставки в несколько реплик в сумме превышают ограничение. Коммит
пустых частей данных разрешён всегда, поэтому данные можно удалить из
таблицы, превысившей ограничение, например с помощью `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 views, также
проверяются. При репликационных загрузках ограничение не проверяется, что
допускает состояние гонки, когда параллельные вставки в несколько реплик
совместно превышают лимит. Коммит пустых частей данных разрешён всегда,
поэтому данные можно удалить из таблицы, превысившей лимит, например с
помощью `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 — без ограничений.
