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

> Настройки MergeTree из `system.merge_tree_settings`

# Настройки таблиц MergeTree

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  const cells = [["Тип", <Badge color="surface">{type}</Badge>], ["Значение по умолчанию", <Badge color="surface">{default_value}</Badge>]];
  if (changeable_without_restart) {
    const isYes = String(changeable_without_restart).trim().toLowerCase() === "yes";
    const badge = isYes ? <Badge icon="check" stroke color="green" size="sm">Да</Badge> : <Badge icon="x" stroke color="red" size="sm">Нет</Badge>;
    cells.push(["Можно изменить без перезапуска", badge]);
  }
  return <table>
      <thead>
        <tr>
          {cells.map(([h]) => <th key={h}>{h}</th>)}
        </tr>
      </thead>
      <tbody>
        <tr>
          {cells.map(([h, v]) => <td key={h}>{v}</td>)}
        </tr>
      </tbody>
    </table>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Бета</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Возможность в статусе бета. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Подробнее.
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Экспериментальная возможность. <u><a href="/docs/beta-and-experimental-features#experimental-features">Подробнее.</a></u>
        </div>;
};

Системная таблица `system.merge_tree_settings` показывает глобально заданные настройки MergeTree.

Настройки MergeTree можно задать в разделе `merge_tree` файла конфигурации сервера или указать отдельно для каждой таблицы `MergeTree` в
секции `SETTINGS` оператора `CREATE TABLE`.

Пример настройки параметра `max_suspicious_broken_parts`:

Настройте значение по умолчанию для всех таблиц `MergeTree` в файле конфигурации сервера:

```text theme={null}
<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>
```

Для конкретной таблицы:

```sql theme={null}
CREATE TABLE tab
(
    `A` Int64
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS max_suspicious_broken_parts = 500;
```

Измените настройки конкретной таблицы с помощью `ALTER TABLE ... MODIFY SETTING`:

```sql theme={null}
ALTER TABLE tab MODIFY SETTING max_suspicious_broken_parts = 100;

-- сбросить до глобального значения по умолчанию (значение из system.merge_tree_settings)
ALTER TABLE tab RESET SETTING max_suspicious_broken_parts;
```

<div id="mergetree-settings">
  ## Настройки MergeTree
</div>

<div id="adaptive_write_buffer_initial_size">
  ## adaptive\_write\_buffer\_initial\_size
</div>

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

Начальный размер адаптивного буфера для записи

<div id="add_implicit_sign_column_constraint_for_collapsing_engine">
  ## add\_implicit\_sign\_column\_constraint\_for\_collapsing\_engine
</div>

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

Если значение равно true, добавляет неявное ограничение для столбца `sign` таблицы CollapsingMergeTree
или VersionedCollapsingMergeTree, разрешающее только допустимые значения (`1` и `-1`).

<div id="add_minmax_index_for_block_number_column">
  ## add\_minmax\_index\_for\_block\_number\_column
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Новая настройка"}]}]} />

При включении для персистентного виртуального столбца `_block_number` добавляется неявный min-max-индекс (skipping).
Чтобы это сработало, требуется `enable_block_number_column = 1`. Индекс строится только во время слияний,
а не при вставке: в момент вставки номер блока является временным, поэтому индекс строился бы по константе.

<div id="add_minmax_index_for_block_offset_column">
  ## add\_minmax\_index\_for\_block\_offset\_column
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Новая настройка."}]}]} />

Если параметр включен, для персистентного виртуального столбца `_block_offset` добавляется неявный min-max-индекс (skipping).
Чтобы это вступило в силу, необходимо `enable_block_offset_column = 1`. Индекс строится только во время слияний,
а не при вставке.

<div id="add_minmax_index_for_numeric_columns">
  ## add\_minmax\_index\_for\_numeric\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если параметр включен, для всех числовых столбцов таблицы добавляются min-max-индексы (skipping).

<div id="add_minmax_index_for_string_columns">
  ## add\_minmax\_index\_for\_string\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "новая настройка"}]}]} />

При включении для всех строковых столбцов таблицы добавляются min-max-индексы (skipping).

<div id="add_minmax_index_for_temporal_columns">
  ## add\_minmax\_index\_for\_temporal\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "новая настройка"}]}]} />

При включении для всех столбцов таблицы типов Date, Date32, Time, Time64, DateTime и DateTime64 добавляются индексы min-max (skipping)

<div id="allow_coalescing_columns_in_partition_or_order_key">
  ## allow\_coalescing\_columns\_in\_partition\_or\_order\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Новая настройка, позволяющая использовать объединяющиеся столбцы таблицы CoalescingMergeTree в ключе партиционирования или ключе сортировки."}]}]} />

Если включено, позволяет использовать объединяющиеся столбцы таблицы CoalescingMergeTree
в ключе партиционирования или ключе сортировки.

<div id="allow_commit_order_projection">
  ## allow\_commit\_order\_projection
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "новая настройка"}]}]} />

Включает проекции commit-order, которые хранят виртуальные столбцы `_block_number` и `_block_offset`, сохраняя исходный порядок вставки при слияниях.
Требует, чтобы были включены `enable_block_number_column` и `enable_block_offset_column`.

<div id="allow_experimental_replacing_merge_with_cleanup">
  ## allow\_experimental\_replacing\_merge\_with\_cleanup
</div>

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

Разрешает экспериментальные слияния CLEANUP для ReplacingMergeTree со
столбцом `is_deleted`. Если настройка включена, можно использовать `OPTIMIZE ... FINAL CLEANUP`, чтобы вручную
слить все части в партиции в одну и удалить все
помеченные как удалённые строки.

Также позволяет включить автоматическое выполнение таких слияний в фоновом
режиме с помощью настроек `min_age_to_force_merge_seconds`,
`min_age_to_force_merge_on_partition_only` и
`enable_replacing_merge_with_cleanup_for_min_age_to_force_merge`.

<div id="allow_experimental_reverse_key">
  ## allow\_experimental\_reverse\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "новая настройка"}]}]} />

Устаревшая настройка, ничего не делает.

<div id="allow_floating_point_partition_key">
  ## allow\_floating\_point\_partition\_key
</div>

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

Разрешает использовать число с плавающей запятой в качестве ключа партиционирования.

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

* `0` — Использование числа с плавающей запятой в качестве ключа партиционирования не разрешено.
* `1` — Использование числа с плавающей запятой в качестве ключа партиционирования разрешено.

<div id="allow_nullable_key">
  ## allow\_nullable\_key
</div>

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

Разрешает использовать тип Nullable в качестве первичного ключа.

<div id="allow_part_offset_column_in_projections">
  ## allow\_part\_offset\_column\_in\_projections
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Теперь проекции могут использовать столбец _part_offset."}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "0"},{"label": "Новая настройка: до стабилизации защищает от создания проекций со столбцом смещения родительской части."}]}]} />

Разрешает использовать столбец '\_part\_offset' в запросе SELECT проекций.

<div id="allow_reduce_blocking_parts_task">
  ## allow\_reduce\_blocking\_parts\_task
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Теперь SMT по умолчанию удаляет устаревшие блокирующие части из ZooKeeper"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Синхронизация с Cloud"}]}]} />

Фоновая задача, сокращающая число блокирующих частей для таблиц shared merge tree.
Только в ClickHouse Cloud

<div id="allow_remote_fs_zero_copy_replication">
  ## allow\_remote\_fs\_zero\_copy\_replication
</div>

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

Не используйте эту настройку в продакшне, так как она ещё не готова.

<div id="allow_summing_columns_in_partition_or_order_key">
  ## allow\_summing\_columns\_in\_partition\_or\_order\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Новая настройка, разрешающая использовать суммируемые столбцы в партиции или ключе сортировки"}]}]} />

Если включено, разрешает использовать суммируемые столбцы таблицы SummingMergeTree
в партиции или ключе сортировки.

<div id="allow_suspicious_indices">
  ## allow\_suspicious\_indices
</div>

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

Отклонять первичные/вторичные индексы и ключи сортировки с одинаковыми выражениями

<div id="allow_tuple_element_aggregation">
  ## allow\_tuple\_element\_aggregation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если настройка включена, отдельные элементы в столбцах Tuple участвуют в
агрегации при слиянии в SummingMergeTree, AggregatingMergeTree и
CoalescingMergeTree. Вложенные Tuple рекурсивно разворачиваются, так что все
листовые элементы агрегируются независимо. Эту настройку нельзя изменить,
и её необходимо указать при создании таблицы.

<div id="allow_vertical_merges_from_compact_to_wide_parts">
  ## allow\_vertical\_merges\_from\_compact\_to\_wide\_parts
</div>

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

Разрешает Вертикальное слияние при переходе от компактных частей к частям Wide. Этот параметр должен иметь
одинаковое значение на всех репликах.

<div id="alter_column_secondary_index_mode">
  ## alter\_column\_secondary\_index\_mode
</div>

<SettingsInfoBlock type="AlterColumnSecondaryIndexMode" default_value="rebuild" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "rebuild"},{"label": "Изменено поведение: теперь ALTER `column` допускается при наличии зависимых вторичных индексов"}]}]} />

Настраивает, разрешать ли команды `ALTER`, изменяющие столбцы, для которых существуют вторичные индексы, и какое действие выполнять, если
они разрешены. По умолчанию такие команды `ALTER` разрешены, а индексы перестраиваются.

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

* `rebuild` (по умолчанию): Перестраивает все вторичные индексы, затронутые столбцом в команде `ALTER`.
* `throw`: Запрещает любой `ALTER` столбцов, для которых существуют **явные** вторичные индексы, генерируя исключение. Неявные индексы под это ограничение не подпадают и будут перестроены.
* `drop`: Удаляет зависимые вторичные индексы. Новые части не будут содержать этих индексов, поэтому для их повторного создания потребуется `MATERIALIZE INDEX`.
* `compatibility`: Соответствует исходному поведению: `throw` для `ALTER ... MODIFY COLUMN` и `rebuild` для `ALTER ... UPDATE/DELETE`.
* `ignore`: Предназначено для опытных пользователей. Оставляет индексы в несогласованном состоянии, что может приводить к некорректным результатам запросов.

<div id="always_fetch_merged_part">
  ## always\_fetch\_merged\_part
</div>

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

Если значение равно true, эта реплика никогда не выполняет слияние частей и всегда загружает слитые части
с других реплик.

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

* true, false

<div id="always_use_copy_instead_of_hardlinks">
  ## always\_use\_copy\_instead\_of\_hardlinks
</div>

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

Всегда копировать данные вместо создания жёстких ссылок при мутациях/заменах/отсоединении
и т. д.

<div id="apply_patches_on_merge">
  ## apply\_patches\_on\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "новая настройка"}]}]} />

Если равно true, патч-части применяются при слияниях

<div id="assign_part_uuids">
  ## assign\_part\_uuids
</div>

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

Если параметр включен, каждой новой части будет присваиваться уникальный идентификатор.
Перед включением убедитесь, что все реплики поддерживают UUID версии 4.

<div id="async_block_ids_cache_update_wait_ms">
  ## async\_block\_ids\_cache\_update\_wait\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="100" />

Сколько времени каждая итерация вставки будет ожидать обновления async\_block\_ids\_cache

<div id="async_insert">
  ## async\_insert
</div>

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

Если значение равно true, данные из INSERT-запроса сохраняются в очереди, а затем в фоновом режиме записываются в
таблицу.

<div id="auto_statistics_types">
  ## auto\_statistics\_types
</div>

<SettingsInfoBlock type="String" default_value="minmax, uniq" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "minmax, uniq"},{"label": "Автостатистика включена по умолчанию"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": ""},{"label": "новая настройка"}]}]} />

Разделённый запятыми список типов статистики, которые автоматически вычисляются для всех подходящих столбцов.
Поддерживаются следующие типы статистики: basic, tdigest, countmin, minmax, uniq.

<div id="background_task_preferred_step_execution_time_ms">
  ## background\_task\_preferred\_step\_execution\_time\_ms
</div>

<SettingsInfoBlock type="Milliseconds" default_value="50" />

Целевое время выполнения одного шага слияния или мутации. Может быть превышено, если
выполнение одного шага занимает больше времени

<div id="cache_populated_by_fetch">
  ## cache\_populated\_by\_fetch
</div>

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

<Note>
  Этот параметр применяется только в ClickHouse Cloud.
</Note>

Когда `cache_populated_by_fetch` выключен (значение по умолчанию), новые части данных
загружаются в файловый кэш только при выполнении запроса, которому нужны
эти части.

Если параметр включен, `cache_populated_by_fetch` заставляет все узлы загружать
новые части данных из хранилища в свой файловый кэш без необходимости выполнять запрос,
который запускал бы это действие.

**См. также**

* [ignore\_cold\_parts\_seconds](/ru/reference/settings/session-settings#ignore_cold_parts_seconds)
* [prefer\_warmed\_unmerged\_parts\_seconds](/ru/reference/settings/session-settings#prefer_warmed_unmerged_parts_seconds)
* [cache\_warmer\_threads](/ru/reference/settings/session-settings#cache_warmer_threads)

<div id="cache_populated_by_fetch_filename_regexp">
  ## cache\_populated\_by\_fetch\_filename\_regexp
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": ""},{"label": "новая настройка"}]}]} />

<Note>
  Эта настройка применима только в ClickHouse Cloud.
</Note>

Если значение не пустое, после операции fetch в кэш будут предварительно загружаться только файлы, соответствующие этому регулярному выражению (если `cache_populated_by_fetch` включен).

<div id="check_delay_period">
  ## check\_delay\_period
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="check_sample_column_is_correct">
  ## check\_sample\_column\_is\_correct
</div>

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

Включает проверку того, что при создании таблицы тип данных столбца для сэмплирования или выражения для семплирования указан корректно. Тип данных должен быть одним из беззнаковых
[целочисленных типов](/ru/reference/data-types/int-uint): `UInt8`, `UInt16`,
`UInt32`, `UInt64`.

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

* `true`  — Проверка включена.
* `false` — Проверка отключена при создании таблицы.

Значение по умолчанию: `true`.

По умолчанию ClickHouse server проверяет при создании таблицы тип данных
столбца для сэмплирования или выражения для семплирования. Если у вас уже есть таблицы с
некорректным выражением для семплирования и вы не хотите, чтобы сервер сгенерировал исключение
при запуске, установите `check_sample_column_is_correct` в `false`.

<div id="clean_deleted_rows">
  ## clean\_deleted\_rows
</div>

<SettingsInfoBlock type="CleanDeletedRows" default_value="Never" />

Устаревшая настройка, не имеет эффекта.

<div id="cleanup_delay_period">
  ## cleanup\_delay\_period
</div>

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

Минимальный период очистки старых журналов очереди, хэшей блоков и частей.

<div id="cleanup_delay_period_random_add">
  ## cleanup\_delay\_period\_random\_add
</div>

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

Добавляет к cleanup\_delay\_period равномерно распределённое значение от 0 до x секунд,
чтобы избежать эффекта «стадного поведения» и последующего DoS ZooKeeper в случае
очень большого количества таблиц.

<div id="cleanup_thread_preferred_points_per_iteration">
  ## cleanup\_thread\_preferred\_points\_per\_iteration
</div>

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

Предпочтительный размер батча для фоновой очистки (точки — абстрактная величина, но 1 точка примерно соответствует 1 вставленному блоку).

<div id="cleanup_threads">
  ## cleanup\_threads
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="clone_replica_zookeeper_create_get_part_batch_size">
  ## clone\_replica\_zookeeper\_create\_get\_part\_batch\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "100"},{"label": "Новая настройка"}]}]} />

Размер батча для запросов ZooKeeper multi-create get-part при клонировании реплики.

<div id="columns_and_secondary_indices_sizes_lazy_calculation">
  ## columns\_and\_secondary\_indices\_sizes\_lazy\_calculation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Новая настройка для отложенного вычисления размеров столбцов и индексов"}]}]} />

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

<div id="columns_to_prewarm_mark_cache">
  ## columns\_to\_prewarm\_mark\_cache
</div>

Список столбцов для предварительного прогрева кэша меток (если он включен). Пустое значение означает, что используются все столбцы

<div id="compact_parts_max_bytes_to_buffer">
  ## compact\_parts\_max\_bytes\_to\_buffer
</div>

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

Доступно только в ClickHouse Cloud. Максимальное количество байт, записываемых
в один страйп в компактных частях

<div id="compact_parts_max_granules_to_buffer">
  ## compact\_parts\_max\_granules\_to\_buffer
</div>

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

Доступно только в ClickHouse Cloud. Максимальное количество гранул, записываемых в
один страйп в компактных частях

<div id="compact_parts_merge_max_bytes_to_prefetch_part">
  ## compact\_parts\_merge\_max\_bytes\_to\_prefetch\_part
</div>

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

Доступно только в ClickHouse Cloud. Максимальный размер компактной части для
чтения целиком в память во время слияния.

<div id="compatibility_allow_sampling_expression_not_in_primary_key">
  ## compatibility\_allow\_sampling\_expression\_not\_in\_primary\_key
</div>

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

Разрешает создавать таблицу с выражением для семплирования, не входящим в первичный ключ. Это
нужно только для того, чтобы временно разрешить запуск сервера с некорректными таблицами для
обеспечения обратной совместимости.

<div id="compress_marks">
  ## compress\_marks
</div>

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

Для меток поддерживается сжатие, что уменьшает размер файла меток и ускоряет передачу
по сети.

<div id="compress_per_column_in_compact_parts">
  ## compress\_per\_column\_in\_compact\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "новая настройка"}]}]} />

Управляет физической структурой компактных частей. Если `true` (по умолчанию), каждый столбец в грануле
начинает новый сжатый блок, что позволяет ClickHouse не читать с диска ненужные столбцы.
Если `false`, все столбцы в пределах гранулы упаковываются в один и тот же сжатый блок,
что улучшает коэффициент сжатия, но требует распаковки большего объёма данных при чтении.
Это полезно для рабочих нагрузок, которые всегда читают все столбцы (например, проекции).

<div id="compress_primary_key">
  ## compress\_primary\_key
</div>

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

Включает сжатие первичного ключа, уменьшает размер файла первичного ключа и ускоряет
передачу по сети.

<div id="concurrent_part_removal_threshold">
  ## concurrent\_part\_removal\_threshold
</div>

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

Включать параллельное удаление частей (см. `max_part_removal_threads`) только если
количество неактивных частей данных не меньше этого значения.

<div id="concurrent_part_removal_threshold_for_remote_disk">
  ## concurrent\_part\_removal\_threshold\_for\_remote\_disk
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "16"},{"label": "Новая настройка. Снижен порог для перехода к параллельному удалению частей, если хотя бы одна из удаляемых частей находится на удалённом диске, где каждое удаление обычно требует одного сетевого запроса. Старое значение (100) соответствует прежнему значению по умолчанию для `concurrent_part_removal_threshold`, поэтому в старых режимах `compatibility` сохраняется прежнее поведение."}]}]} />

То же, что и `concurrent_part_removal_threshold`, но используется, когда хотя бы одна
из удаляемых частей хранится на удалённом диске. Значение по умолчанию ниже,
поскольку удаление каждой части в удалённом хранилище обычно требует отдельного
сетевого запроса (например, одного HTTP `DELETE` на часть в объектном хранилище), поэтому
последовательное удаление даже 100 частей может задержать `DROP TABLE` на
десятки секунд.

<div id="deduplicate_merge_projection_mode">
  ## deduplicate\_merge\_projection\_mode
</div>

<SettingsInfoBlock type="DeduplicateMergeProjectionMode" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "throw"},{"label": "Не разрешать создание несогласованной проекции"}]}]} />

Разрешает или запрещает создание проекций для таблиц с неклассическим движком MergeTree,
то есть не (Replicated, Shared) MergeTree. Опция `ignore` предназначена исключительно для
совместимости и может приводить к некорректным результатам. В остальных случаях, если создание
разрешено, определяет, что делать при слиянии проекций: удалить их или пересобрать. Для классического
MergeTree эта настройка игнорируется. Она также управляет `OPTIMIZE DEDUPLICATE`,
но действует на все движки семейства MergeTree. Как и
опция `lightweight_mutation_projection_mode`, она применяется на уровне part.

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

* `ignore`
* `throw`
* `drop`
* `rebuild`

<div id="default_compression_codec">
  ## default\_compression\_codec
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": ""},{"label": "Новая настройка"}]}]} />

Задаёт кодек сжатия по умолчанию, который используется, если для конкретного столбца в объявлении таблицы он не указан.
Порядок выбора кодека сжатия для столбца:

1. Кодек сжатия, указанный для столбца в объявлении таблицы
2. Кодек сжатия, указанный в `default_compression_codec` (эта настройка)
3. Кодек сжатия по умолчанию, указанный в настройках `compression`
   Значение по умолчанию: пустая строка (не задано).

<div id="detach_not_byte_identical_parts">
  ## detach\_not\_byte\_identical\_parts
</div>

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

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

Настройка применима к таблицам `MergeTree` с включенной
[репликацией данных](/ru/reference/engines/table-engines/mergetree-family/replacingmergetree).

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

* `0` — Части удаляются.
* `1` — Части отсоединяются.

<div id="detach_old_local_parts_when_cloning_replica">
  ## detach\_old\_local\_parts\_when\_cloning\_replica
</div>

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

Не удалять старые локальные части при восстановлении утраченной реплики.

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

* `true`
* `false`

<div id="disable_detach_partition_for_zero_copy_replication">
  ## disable\_detach\_partition\_for\_zero\_copy\_replication
</div>

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

Отключает запрос DETACH PARTITION при репликации с нулевым копированием.

<div id="disable_fetch_partition_for_zero_copy_replication">
  ## disable\_fetch\_partition\_for\_zero\_copy\_replication
</div>

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

Отключает запрос FETCH PARTITION при репликации с нулевым копированием.

<div id="disable_freeze_partition_for_zero_copy_replication">
  ## disable\_freeze\_partition\_for\_zero\_copy\_replication
</div>

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

Отключает запрос FREEZE PARTITION при репликации с нулевым копированием.

<div id="disk">
  ## disk
</div>

Имя диска хранилища. Можно указать вместо политики хранения.

<div id="distributed_index_analysis_min_indexes_bytes_to_activate">
  ## distributed\_index\_analysis\_min\_indexes\_bytes\_to\_activate
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1073741824"},{"label": "новая настройка"}]}]} />

Минимальный размер индексов на диске (индексов пропуска данных и первичного ключа, в несжатом виде), необходимый для активации распределённого анализа индексов

<div id="distributed_index_analysis_min_parts_to_activate">
  ## distributed\_index\_analysis\_min\_parts\_to\_activate
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "10"},{"label": "новая настройка"}]}]} />

Минимальное количество частей для включения распределенного анализа индексов

<div id="dynamic_serialization_version">
  ## dynamic\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeDynamicSerializationVersion" default_value="v3" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "v2"},{"label": "Добавлена настройка для управления версиями сериализации для Dynamic"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "v3"},{"label": "Версия сериализации v3 для Dynamic включена по умолчанию для повышения эффективности сериализации/десериализации"}]}]} />

Версия сериализации для типа данных Dynamic. Требуется для совместимости.

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

* `v1`
* `v2`
* `v3`

<div id="enable_block_number_column">
  ## enable\_block\_number\_column
</div>

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

Включает сохранение столбца \_block\_number в каждой строке.

<div id="enable_block_offset_column">
  ## enable\_block\_offset\_column
</div>

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

Сохраняет виртуальный столбец `_block_offset` во время слияний.

<div id="enable_index_granularity_compression">
  ## enable\_index\_granularity\_compression
</div>

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

Сжимать хранящиеся в памяти значения гранулярности индекса, если это возможно

<div id="enable_max_bytes_limit_for_min_age_to_force_merge">
  ## enable\_max\_bytes\_limit\_for\_min\_age\_to\_force\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "По умолчанию ограничивает размер частей даже при использовании min_age_to_force_merge_seconds"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Новая настройка"}]}, {"id": "row-3","items": [{"label": "25.1"},{"label": "0"},{"label": "Добавлена новая настройка для ограничения максимального количества байт для min_age_to_force_merge."}]}]} />

Определяет, должны ли настройки `min_age_to_force_merge_seconds` и
`min_age_to_force_merge_on_partition_only` учитывать настройку
`max_bytes_to_merge_at_max_space_in_pool`.

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

* `true`
* `false`

<div id="enable_mixed_granularity_parts">
  ## enable\_mixed\_granularity\_parts
</div>

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

Включает или отключает использование настройки `index_granularity_bytes` для
управления размером гранул. До версии 19.11 для ограничения размера гранул
существовала только настройка `index_granularity`. Настройка
`index_granularity_bytes` повышает производительность ClickHouse при
выборке данных из таблиц с большими строками (десятки и сотни мегабайт).
Если у вас есть таблицы с большими строками, включите эту настройку для этих таблиц,
чтобы повысить эффективность запросов `SELECT`.

<div id="enable_replacing_merge_with_cleanup_for_min_age_to_force_merge">
  ## enable\_replacing\_merge\_with\_cleanup\_for\_min\_age\_to\_force\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "Новая настройка, позволяющая выполнять автоматические CLEANUP-слияния для ReplacingMergeTree"}]}]} />

Использовать ли CLEANUP-слияния для ReplacingMergeTree при слиянии партиций
в одну часть. Требует включения `allow_experimental_replacing_merge_with_cleanup`,
`min_age_to_force_merge_seconds` и `min_age_to_force_merge_on_partition_only`.

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

* `true`
* `false`

<div id="enable_the_endpoint_id_with_zookeeper_name_prefix">
  ## enable\_the\_endpoint\_id\_with\_zookeeper\_name\_prefix
</div>

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

Включает использование Endpoint ID с префиксом имени ZooKeeper для таблиц ReplicatedMergeTree.

<div id="enable_vertical_merge_algorithm">
  ## enable\_vertical\_merge\_algorithm
</div>

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

Включает использование алгоритма вертикального слияния.

<div id="enforce_index_structure_match_on_partition_manipulation">
  ## enforce\_index\_structure\_match\_on\_partition\_manipulation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если этот параметр включен для целевой таблицы в запросе
манипулирования партицией (`ATTACH/MOVE/REPLACE PARTITION`), индексы и проекции
в исходной и целевой таблицах должны быть идентичны. В противном случае
целевая таблица может содержать надмножество индексов и проекций исходной таблицы.

<div id="escape_index_filenames">
  ## escape\_index\_filenames
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "Экранировать не-ASCII-символы в именах файлов, создаваемых для индексов"}]}]} />

До версии 26.1 мы не экранировали специальные символы в именах файлов, создаваемых для вторичных индексов, что могло вызывать проблемы: некоторые
символы в именах индексов могли приводить к повреждению частей. Этот параметр добавлен исключительно из соображений совместимости. Не следует изменять его значение, если только вы не
читаете старые части с индексами, в именах которых используются не-ASCII-символы.

<div id="escape_variant_subcolumn_filenames">
  ## escape\_variant\_subcolumn\_filenames
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Экранировать специальные символы в именах файлов, создаваемых для подстолбцов типа Variant в частях Wide"}]}]} />

Экранировать специальные символы в именах файлов, создаваемых для подстолбцов типа данных Variant в частях Wide таблицы MergeTree. Необходимо для совместимости.

<div id="exclude_deleted_rows_for_part_size_in_merge">
  ## exclude\_deleted\_rows\_for\_part\_size\_in\_merge
</div>

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

Если настройка включена, при выборе частей для слияния будет использоваться оценка фактического размера частей данных (то есть без учета строк,
удаленных с помощью `DELETE FROM`). Обратите внимание, что это поведение срабатывает только для частей данных,
затронутых `DELETE FROM`, выполненным после включения этой настройки.

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

* `true`
* `false`

**См. также**

* настройка [load\_existing\_rows\_count\_for\_old\_parts](#load_existing_rows_count_for_old_parts)

<div id="exclude_materialize_skip_indexes_on_merge">
  ## exclude\_materialize\_skip\_indexes\_on\_merge
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": ""},{"label": "Новая настройка"}]}]} />

Исключает указанный список индексов пропуска данных, разделённых запятыми, из построения и сохранения во время слияний. Не действует, если
[materialize\_skip\_indexes\_on\_merge](#materialize_skip_indexes_on_merge) имеет значение false.

Исключённые индексы пропуска данных всё равно будут строиться и сохраняться явным
запросом [MATERIALIZE INDEX](/ru/reference/statements/alter/skipping-index#materialize-index) или во время INSERT, в зависимости от
настройки сеанса [materialize\_skip\_indexes\_on\_insert](/ru/reference/settings/session-settings#materialize_skip_indexes_on_insert).

Пример:

```sql theme={null}
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- параметр не влияет на операции INSERT

-- idx_a не будет обновляться при фоновом или явном слиянии через OPTIMIZE TABLE FINAL

-- можно исключить несколько индексов, указав их списком
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';

-- значение по умолчанию: при слиянии обновляются все индексы
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';
```

<div id="execute_merges_on_single_replica_time_threshold">
  ## execute\_merges\_on\_single\_replica\_time\_threshold
</div>

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

Если значение этой настройки больше нуля, только одна реплика сразу запускает
слияние, а остальные реплики в течение этого времени ждут, чтобы
скачать результат вместо выполнения слияния локально. Если выбранная реплика
не завершит слияние за это время, произойдёт возврат к стандартному
поведению.

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

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

<div id="fault_probability_after_part_commit">
  ## fault\_probability\_after\_part\_commit
</div>

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

Для тестирования. Не изменяйте.

<div id="fault_probability_before_part_commit">
  ## fault\_probability\_before\_part\_commit
</div>

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

Для тестирования. Не изменяйте.

<div id="finished_mutations_to_keep">
  ## finished\_mutations\_to\_keep
</div>

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

Сколько записей о завершённых мутациях хранить. Если указано ноль, то хранить
их все.

<div id="force_read_through_cache_for_merges">
  ## force\_read\_through\_cache\_for\_merges
</div>

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

Принудительное чтение через файловый кэш при слияниях

<div id="fsync_after_insert">
  ## fsync\_after\_insert
</div>

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

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

<div id="fsync_part_directory">
  ## fsync\_part\_directory
</div>

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

Выполнять fsync для каталога части после всех операций с частью (записи, переименования и т. д.).

<div id="in_memory_parts_enable_wal">
  ## in\_memory\_parts\_enable\_wal
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="in_memory_parts_insert_sync">
  ## in\_memory\_parts\_insert\_sync
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="inactive_parts_to_delay_insert">
  ## inactive\_parts\_to\_delay\_insert
</div>

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

Если число неактивных частей в одной партиции таблицы превышает
значение `inactive_parts_to_delay_insert`, операция `INSERT` искусственно
замедляется.

<Tip>
  Полезно, если сервер не успевает достаточно быстро удалять части.
</Tip>

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

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

<div id="inactive_parts_to_throw_insert">
  ## inactive\_parts\_to\_throw\_insert
</div>

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

Если количество неактивных частей в одной партиции превышает значение
`inactive_parts_to_throw_insert`, выполнение `INSERT` прерывается со
следующей ошибкой:

> Исключение: "Слишком много неактивных частей (N). Очистка частей происходит
> значительно медленнее, чем вставки."

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

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

<div id="index_granularity">
  ## index\_granularity
</div>

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

Максимальное количество строк данных между отметками индекса. То есть сколько строк
приходится на одно значение первичного ключа.

<div id="index_granularity_bytes">
  ## index\_granularity\_bytes
</div>

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

Максимальный размер гранул данных в байтах.

Чтобы размер гранулы ограничивался только количеством строк, установите значение `0` (не рекомендуется).

<div id="initialization_retry_period">
  ## initialization\_retry\_period
</div>

<SettingsInfoBlock type="Секунды" default_value="60" />

Период повторной попытки инициализации таблицы, в секундах.

<div id="kill_delay_period">
  ## kill\_delay\_period
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="kill_delay_period_random_add">
  ## kill\_delay\_period\_random\_add
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="kill_threads">
  ## kill\_threads
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="lightweight_mutation_projection_mode">
  ## lightweight\_mutation\_projection\_mode
</div>

<SettingsInfoBlock type="LightweightMutationProjectionMode" default_value="throw" />

По умолчанию легковесное удаление `DELETE` не работает для таблиц с
проекциями. Это связано с тем, что операция `DELETE` может затрагивать строки
в проекции. Поэтому значением по умолчанию является `throw`. Однако этот
параметр может изменить поведение. При значении `drop` или `rebuild`
удаление будет работать с проекциями. `drop` удаляет проекцию, поэтому это
может ускорить текущий запрос, так как проекция будет удалена, но замедлить
последующие запросы, поскольку проекция больше не будет доступна. `rebuild`
перестраивает проекцию, что может повлиять на производительность текущего
запроса, но ускорить последующие запросы. Важно, что эти варианты работают
только на уровне частей: проекции в тех частях, которые не были затронуты,
останутся без изменений, и для них не будет запускаться никаких действий,
таких как drop или rebuild.

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

* `throw`
* `drop`
* `rebuild`

<div id="load_existing_rows_count_for_old_parts">
  ## load\_existing\_rows\_count\_for\_old\_parts
</div>

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

Если эта настройка включена вместе с [exclude\_deleted\_rows\_for\_part\_size\_in\_merge](#exclude_deleted_rows_for_part_size_in_merge),
количество удалённых строк для существующих частей данных будет вычисляться при
запуске таблицы. Обратите внимание, что это может замедлить загрузку таблицы при запуске.

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

* `true`
* `false`

**См. также**

* настройка [exclude\_deleted\_rows\_for\_part\_size\_in\_merge](#exclude_deleted_rows_for_part_size_in_merge)

<div id="lock_acquire_timeout_for_background_operations">
  ## lock\_acquire\_timeout\_for\_background\_operations
</div>

<SettingsInfoBlock type="Секунды" default_value="120" />

Для фоновых операций, таких как слияния, мутации и т. д.: сколько секунд ждать,
прежде чем завершить попытку получить блокировки таблицы с ошибкой.

<div id="map_buckets_coefficient">
  ## map\_buckets\_coefficient
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Добавлена настройка для управления коэффициентом, используемым в стратегиях `sqrt` и `linear` при вычислении количества бакетов для сериализации Map с `with_buckets`"}]}]} />

Коэффициент, используемый в [map\_buckets\_strategy](#map_buckets_strategy) `sqrt` и `linear` для вычисления количества бакетов на основе среднего размера Map.
Для стратегии `sqrt`: `round(map_buckets_coefficient * sqrt(avg_map_size))`.
Для стратегии `linear`: `round(map_buckets_coefficient * avg_map_size)`.
Игнорируется, если `map_buckets_strategy` имеет значение `constant`.

<div id="map_buckets_min_avg_size">
  ## map\_buckets\_min\_avg\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "32"},{"label": "Добавлена настройка, управляющая минимальным средним размером Map (числом ключей на строку), необходимым для применения сериализации `with_buckets`"}]}]} />

Минимальный средний размер Map (число ключей на строку), необходимый для применения сериализации `with_buckets`.
Если средний размер Map меньше этого значения, независимо от других настроек бакетов используется один бакет.
Значение `0` отключает этот порог и всегда применяет стратегию разбиения по бакетам.
Эта настройка позволяет избежать накладных расходов на сериализацию с бакетами для небольших Map, где выигрыш от нее незначителен.

<div id="map_buckets_strategy">
  ## map\_buckets\_strategy
</div>

<SettingsInfoBlock type="MergeTreeMapBucketsStrategy" default_value="sqrt" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "sqrt"},{"label": "Добавлена настройка для управления стратегией выбора количества бакетов для сериализации `Map` `with_buckets`"}]}]} />

Управляет стратегией выбора количества бакетов в сериализации `Map` `with_buckets` на основе среднего размера `Map`.

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

* constant — Всегда использовать [max\_buckets\_in\_map](#max_buckets_in_map) в качестве количества бакетов независимо от среднего размера `Map`.
* sqrt — Использовать `round(map_buckets_coefficient * sqrt(avg_map_size))` в качестве количества бакетов с ограничением в диапазоне `[1, max_buckets_in_map]`.
* linear — Использовать `round(map_buckets_coefficient * avg_map_size)` в качестве количества бакетов с ограничением в диапазоне `[1, max_buckets_in_map]`.

<div id="map_serialization_version">
  ## map\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeMapSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "basic"},{"label": "Добавлена настройка для управления версией сериализации для Map"}]}]} />

Управляет методом сериализации, используемым для столбцов `Map`.

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

* basic — Использовать стандартную сериализацию для `Map`.
* with\_buckets — Разбивать ключи по бакетам при сериализации. Использование бакетов улучшает чтение отдельных ключей из Map.

Количество бакетов при сериализации `with_buckets` определяется параметрами [max\_buckets\_in\_map](#max_buckets_in_map) и [map\_buckets\_strategy](#map_buckets_strategy).

<div id="map_serialization_version_for_zero_level_parts">
  ## map\_serialization\_version\_for\_zero\_level\_parts
</div>

<SettingsInfoBlock type="MergeTreeMapSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "basic"},{"label": "Добавлена настройка для управления версией сериализации Map для частей нулевого уровня"}]}]} />

Эта настройка позволяет указать другую версию сериализации
столбцов `Map` для частей нулевого уровня, создаваемых при вставках.
Её можно использовать, чтобы сохранить сериализацию `basic` для частей нулевого уровня и избежать
снижения производительности при вставках, одновременно используя `with_buckets` для слитых частей.

<div id="marks_compress_block_size">
  ## marks\_compress\_block\_size
</div>

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

Размер блока сжатия для marks: фактический размер сжимаемого блока.

<div id="marks_compression_codec">
  ## marks\_compression\_codec
</div>

<SettingsInfoBlock type="String" default_value="ZSTD(3)" />

Для marks используется кодек сжатия; marks достаточно малы и кэшируются, поэтому
по умолчанию используется сжатие ZSTD(3).

<div id="materialize_projections_on_insert">
  ## materialize\_projections\_on\_insert
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "Новая настройка"}]}]} />

При включении при операциях INSERT создаются новые части с проекциями.
В противном случае они могут быть созданы явно с помощью [MATERIALIZE PROJECTION](/ru/reference/statements/alter/projection#materialize-projection)
или при слияниях с [materialize\_projections\_on\_merge](/ru/reference/settings/merge-tree-settings#materialize_projections_on_merge).

<div id="materialize_projections_on_merge">
  ## materialize\_projections\_on\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если настройка включена, при слиянии перестраивается проекция, отсутствующая во всех исходных частях (например, если они были
вставлены с `materialize_projections_on_insert = 0`), чтобы в слитой части эта проекция была.

Слияния по-прежнему объединяют только части с одинаковым набором проекций. Чтобы выполнить дозагрузку проекции во все существующие части,
используйте явный [MATERIALIZE PROJECTION](/ru/reference/statements/alter/projection#materialize-projection). Проекции
также создаются при INSERT с помощью [materialize\_projections\_on\_insert](/ru/reference/settings/merge-tree-settings#materialize_projections_on_insert).

<div id="materialize_skip_indexes_on_merge">
  ## materialize\_skip\_indexes\_on\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "новая настройка"}]}]} />

Если настройка включена, при слиянии для новых частей создаются и сохраняются индексы пропуска.
В противном случае они могут быть созданы/сохранены явной командой [MATERIALIZE INDEX](/ru/reference/statements/alter/skipping-index#materialize-index)
или [при INSERT](/ru/reference/settings/session-settings#materialize_skip_indexes_on_insert).

См. также [exclude\_materialize\_skip\_indexes\_on\_merge](#exclude_materialize_skip_indexes_on_merge) для более точного управления.

<div id="materialize_statistics_on_merge">
  ## materialize\_statistics\_on\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "новая настройка"}]}]} />

Если включено, при слиянии для новых частей будут создаваться и сохраняться статистики.
В противном случае их можно создать/сохранить с помощью явной команды [MATERIALIZE STATISTICS](/ru/reference/statements/alter/statistics)
или [при INSERT](/ru/reference/settings/session-settings#materialize_statistics_on_insert)

<div id="materialize_ttl_recalculate_only">
  ## materialize\_ttl\_recalculate\_only
</div>

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

Пересчитывать информацию TTL только при MATERIALIZE TTL

<div id="max_avg_part_size_for_too_many_parts">
  ## max\_avg\_part\_size\_for\_too\_many\_parts
</div>

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

Проверка «слишком много частей» в соответствии с 'parts\_to\_delay\_insert' и
'parts\_to\_throw\_insert' будет выполняться, только если средний размер части (в
соответствующей партиции) не превышает указанный порог. Если он
превышает указанный порог, операции INSERT не будут ни задерживаться, ни
отклоняться. Это позволяет хранить сотни терабайт в одной таблице на одном
сервере, если части успешно сливаются в более крупные. Это
не влияет на пороги для неактивных частей или общего числа частей.

<div id="max_buckets_in_map">
  ## max\_buckets\_in\_map
</div>

<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](#map_buckets_strategy).
Максимально допустимое значение — 256.

<div id="max_bytes_to_merge_at_max_space_in_pool">
  ## max\_bytes\_to\_merge\_at\_max\_space\_in\_pool
</div>

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

Максимальный суммарный размер частей (в байтах), которые могут быть объединены в одну часть, если доступно достаточно ресурсов. Примерно соответствует максимально возможному размеру части, создаваемой автоматическим фоновым слиянием. (`0` означает, что слияния будут отключены)

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

* Любое неотрицательное целое число.

Планировщик слияний периодически анализирует размеры и количество частей в партициях и, если в пуле достаточно свободных ресурсов, запускает фоновые слияния. Слияния выполняются до тех пор, пока суммарный размер исходных частей не превысит `max_bytes_to_merge_at_max_space_in_pool`.

Слияния, инициированные командой [OPTIMIZE FINAL](/ru/reference/statements/optimize), игнорируют `max_bytes_to_merge_at_max_space_in_pool` (учитывается только свободное место на диске).

<div id="max_bytes_to_merge_at_min_space_in_pool">
  ## max\_bytes\_to\_merge\_at\_min\_space\_in\_pool
</div>

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

Максимальный суммарный размер частей (в байтах), которые могут быть слиты в одну
часть при минимуме доступных ресурсов в фоновом пуле.

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

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

`max_bytes_to_merge_at_min_space_in_pool` определяет максимальный суммарный размер
частей, которые могут быть слиты даже при нехватке доступного места на диске (в пуле).
Это необходимо, чтобы уменьшить количество мелких частей и вероятность
ошибок `Too many parts`.
Слияния резервируют место на диске в объёме, вдвое превышающем суммарный размер сливаемых частей.
Поэтому при небольшом объёме свободного места на диске может возникнуть ситуация,
когда свободное место есть, но оно уже зарезервировано выполняющимися крупными слияниями,
из-за чего другие слияния не могут начаться, а количество мелких частей растёт
с каждой вставкой.

<div id="max_cleanup_delay_period">
  ## max\_cleanup\_delay\_period
</div>

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

Максимальный период очистки старых журналов очереди, хешей блоков и частей.

<div id="max_compress_block_size">
  ## max\_compress\_block\_size
</div>

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

Максимальный размер blocks несжатых данных перед сжатием при записи
в table. Эту настройку также можно указать в глобальных настройках
(см. настройку [max\_compress\_block\_size](/ru/reference/settings/merge-tree-settings#max_compress_block_size)).
Значение, указанное при создании table, переопределяет глобальное
значение этой настройки.

<div id="max_concurrent_queries">
  ## max\_concurrent\_queries
</div>

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

Максимальное количество запросов, одновременно выполняемых для таблицы MergeTree.
Запросы по-прежнему будут ограничиваться другими настройками `max_concurrent_queries`.

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

* Положительное целое число.
* `0` — Без ограничений.

Значение по умолчанию: `0` (без ограничений).

**Пример**

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

<div id="max_delay_to_insert">
  ## max\_delay\_to\_insert
</div>

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

Значение в секундах, используемое для вычисления задержки `INSERT`, если
число активных частей в одной партиции превышает
значение [parts\_to\_delay\_insert](#parts_to_delay_insert).

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

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

Задержка (в миллисекундах) для `INSERT` вычисляется по формуле:

```code theme={null}
max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)
```

Например, если в партиции 299 активных частей и parts\_to\_throw\_insert
\= 300, parts\_to\_delay\_insert = 150, max\_delay\_to\_insert = 1, `INSERT`
задерживается на `pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000`
мс.

Начиная с версии 23.1 формула была изменена следующим образом:

```code theme={null}
allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)
```

Например, если в партиции 224 активные части и parts\_to\_throw\_insert
\= 300, parts\_to\_delay\_insert = 150, max\_delay\_to\_insert = 1,
min\_delay\_to\_insert\_ms = 10, то `INSERT` откладывается на `max( 10, 1 * 1000 *
(224 - 150 + 1) / (300 - 150) ) = 500` миллисекунд.

<div id="max_delay_to_mutate_ms">
  ## max\_delay\_to\_mutate\_ms
</div>

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

Максимальная задержка мутации таблицы MergeTree в миллисекундах при наличии
большого количества незавершённых мутаций

<div id="max_digestion_size_per_segment">
  ## max\_digestion\_size\_per\_segment
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "268435456"},{"label": "Устаревшая настройка"}]}]} />

Устаревшая настройка, не имеет эффекта.

<div id="max_file_name_length">
  ## max\_file\_name\_length
</div>

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

Максимальная длина имени файла, при которой оно сохраняется в исходном виде, без хеширования.
Действует только если включена настройка `replace_long_file_name_to_hash`.
Значение этой настройки не включает длину расширения файла. Поэтому
рекомендуется задавать его ниже максимальной длины имени файла (обычно 255
байт), оставляя некоторый запас, чтобы избежать ошибок файловой системы.

<div id="max_files_to_modify_in_alter_columns">
  ## max\_files\_to\_modify\_in\_alter\_columns
</div>

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

Не выполнять `ALTER`, если количество файлов для изменения (удаления, добавления)
превышает значение этой настройки.

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

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

Значение по умолчанию: 75

<div id="max_files_to_remove_in_alter_columns">
  ## max\_files\_to\_remove\_in\_alter\_columns
</div>

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

Не выполнять ALTER, если число файлов, подлежащих удалению, превышает
это значение.

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

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

<div id="max_merge_delayed_streams_for_parallel_write">
  ## max\_merge\_delayed\_streams\_for\_parallel\_write
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "40"},{"label": "новая настройка"}]}]} />

Максимальное количество потоков (столбцов), которые могут быть сброшены на диск параллельно
(аналог max\_insert\_delayed\_streams\_for\_parallel\_write для слияний). Работает
только для Вертикальных слияний.

<div id="max_merge_selecting_sleep_ms">
  ## max\_merge\_selecting\_sleep\_ms
</div>

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

Максимальное время ожидания перед повторной попыткой выбрать части для слияния, если ранее не
было выбрано ни одной части. Меньшее значение настройки будет чаще запускать задачи выбора в
background\_schedule\_pool, что приведёт к большому количеству
запросов к ZooKeeper в крупных кластерах

<div id="max_number_of_merges_with_ttl_in_pool">
  ## max\_number\_of\_merges\_with\_ttl\_in\_pool
</div>

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

Если количество
слияний с TTL в пуле превышает указанное значение, не назначайте
новое слияние с TTL. Это нужно, чтобы оставить свободные потоки для обычных слияний и
избежать ошибки "Слишком много частей"

<div id="max_number_of_mutations_for_replica">
  ## max\_number\_of\_mutations\_for\_replica
</div>

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

Ограничивает количество мутаций частей для каждой реплики указанным значением.
Ноль означает, что количество мутаций для каждой реплики не ограничено (выполнение
по-прежнему может ограничиваться другими настройками).

<div id="max_part_loading_threads">
  ## max\_part\_loading\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="'auto(14)'" />

Устаревшая настройка, не имеет эффекта.

<div id="max_part_removal_threads">
  ## max\_part\_removal\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="'auto(14)'" />

Устаревшая настройка, не имеет эффекта.

<div id="max_partitions_to_read">
  ## max\_partitions\_to\_read
</div>

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

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

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

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

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

Эту настройку сложности запроса [max\_partitions\_to\_read](/ru/reference/settings/session-settings#max_partitions_to_read)
также можно задать на уровне запроса / сеанса / профиля.

<div id="max_parts_in_total">
  ## max\_parts\_in\_total
</div>

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

Если общее количество активных частей во всех партициях таблицы превышает
значение `max_parts_in_total`, выполнение `INSERT` прерывается с исключением `Too many parts
(N)`.

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

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

Большое количество частей в таблице снижает производительность запросов ClickHouse
и увеличивает время запуска ClickHouse. Чаще всего это является следствием
некорректного проектирования (ошибок при выборе стратегии партиционирования — слишком маленькие
партиции).

<div id="max_parts_to_merge_at_once">
  ## max\_parts\_to\_merge\_at\_once
</div>

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

Максимальное количество частей, которые могут быть слиты одновременно (0 — отключено). Не влияет на запрос
OPTIMIZE FINAL.

<div id="max_postpone_time_for_failed_mutations_ms">
  ## max\_postpone\_time\_for\_failed\_mutations\_ms
</div>

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

Максимальное время отсрочки для неудачных мутаций.

<div id="max_postpone_time_for_failed_replicated_fetches_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_fetches\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "60000"},{"label": "Добавлена новая настройка, позволяющая откладывать задачи загрузки в очереди репликации."}]}]} />

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

<div id="max_postpone_time_for_failed_replicated_merges_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_merges\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "60000"},{"label": "Добавлена новая настройка, позволяющая откладывать задачи слияния в очереди репликации."}]}]} />

Максимальное время отсрочки для неудавшихся реплицируемых слияний.

<div id="max_postpone_time_for_failed_replicated_tasks_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_tasks\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "300000"},{"label": "Добавлена новая настройка, позволяющая откладывать задачи в очереди репликации."}]}]} />

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

<div id="max_projections">
  ## max\_projections
</div>

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

Максимальное количество проекций в MergeTree.

<div id="max_replicated_fetches_network_bandwidth">
  ## max\_replicated\_fetches\_network\_bandwidth
</div>

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

Ограничивает максимальную скорость обмена данными по сети в байтах в
секунду для [реплицируемых](/ru/reference/engines/table-engines/mergetree-family/replication)
загрузок. Эта настройка применяется к конкретной таблице, в отличие от
настройки [`max_replicated_fetches_network_bandwidth_for_server`](/ru/reference/settings/merge-tree-settings#max_replicated_fetches_network_bandwidth),
которая применяется на уровне сервера.

Можно ограничить как сетевой трафик сервера, так и сетевой трафик для
конкретной таблицы, но для этого значение настройки на уровне таблицы должно
быть меньше, чем на уровне сервера. В противном случае сервер учитывает
только настройку `max_replicated_fetches_network_bandwidth_for_server`.

Настройка соблюдается не абсолютно точно.

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

* Положительное целое число.
* `0` — Без ограничений.

Значение по умолчанию: `0`.

**Использование**

Может использоваться для ограничения скорости при репликации данных при
добавлении новых узлов или замене существующих.

<div id="max_replicated_logs_to_keep">
  ## max\_replicated\_logs\_to\_keep
</div>

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

Сколько записей может быть в журнале ClickHouse Keeper при наличии неактивной
реплики. Когда это число превышено, неактивная реплика считается потерянной.

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

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

<div id="max_replicated_merges_in_queue">
  ## max\_replicated\_merges\_in\_queue
</div>

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

Сколько задач по слиянию и мутации частей может одновременно находиться в очереди
ReplicatedMergeTree.

<div id="max_replicated_merges_with_ttl_in_queue">
  ## max\_replicated\_merges\_with\_ttl\_in\_queue
</div>

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

Сколько задач по слиянию частей с TTL может одновременно находиться в
очереди ReplicatedMergeTree.

<div id="max_replicated_mutations_in_queue">
  ## max\_replicated\_mutations\_in\_queue
</div>

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

Сколько задач по мутации частей может одновременно находиться в очереди
ReplicatedMergeTree.

<div id="max_replicated_sends_network_bandwidth">
  ## max\_replicated\_sends\_network\_bandwidth
</div>

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

Ограничивает максимальную скорость обмена данными по сети в байтах в
секунду при отправке данных [реплицируемых](/ru/reference/engines/table-engines/mergetree-family/replacingmergetree)
таблиц. Эта настройка применяется к конкретной таблице, в отличие от
настройки [`max_replicated_sends_network_bandwidth_for_server`](/ru/reference/settings/merge-tree-settings#max_replicated_sends_network_bandwidth),
которая применяется к серверу.

Можно ограничить как сетевой трафик сервера, так и трафик для конкретной таблицы, но
для этого значение настройки на уровне таблицы должно быть меньше,
чем на уровне сервера. В противном случае сервер учитывает только
настройку `max_replicated_sends_network_bandwidth_for_server`.

Эта настройка соблюдается не абсолютно точно.

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

* Положительное целое число.
* `0` — Без ограничений.

**Использование**

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

<div id="max_suspicious_broken_parts">
  ## max\_suspicious\_broken\_parts
</div>

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

Если число поврежденных частей в одной партиции превышает значение
`max_suspicious_broken_parts`, автоматическое удаление запрещается.

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

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

<div id="max_suspicious_broken_parts_bytes">
  ## max\_suspicious\_broken\_parts\_bytes
</div>

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

Максимальный суммарный размер всех повреждённых частей; при превышении этого значения автоматическое удаление запрещается.

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

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

<div id="max_uncompressed_bytes_in_patches">
  ## max\_uncompressed\_bytes\_in\_patches
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "32212254720"},{"label": "Новая настройка"}]}]} />

Максимальный размер данных в несжатом виде во всех патч-частях, в байтах.
Если объем данных во всех патч-частях превышает это значение, легковесные обновления будут отклонены.
0 — без ограничений.

<div id="merge_max_block_size">
  ## merge\_max\_block\_size
</div>

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

Количество строк, считываемых в память из слитых частей.

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

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

Во время слияния строки считываются из частей блоками по `merge_max_block_size` строк, затем
сливаются, а результат записывается в новую часть. Считанный блок помещается в оперативную память,
поэтому `merge_max_block_size` влияет на объём оперативной памяти, необходимой для слияния.
Таким образом, слияния могут потреблять большой объём оперативной памяти в таблицах с очень широкими строками
(если средний размер строки — 100 КБ, то при слиянии 10 частей
(100kb \* 10 \* 8192) = \~ 8GB оперативной памяти). Уменьшая `merge_max_block_size`,
можно сократить объём оперативной памяти, необходимой для слияния, но замедлить сам процесс слияния.

<div id="merge_max_block_size_bytes">
  ## merge\_max\_block\_size\_bytes
</div>

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

Сколько байт должно содержаться в блоках, формируемых для операций слияния. По умолчанию
имеет то же значение, что и `index_granularity_bytes`.

<div id="merge_max_bytes_to_prewarm_cache">
  ## merge\_max\_bytes\_to\_prewarm\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1073741824"},{"label": "Синхронизация с Cloud"}]}]} />

Доступно только в ClickHouse Cloud. Максимальный размер части (компактный или packed),
для которой выполняется предварительный прогрев кэша при слиянии.

<div id="merge_max_dynamic_subcolumns_in_compact_part">
  ## merge\_max\_dynamic\_subcolumns\_in\_compact\_part
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "auto"},{"label": "Добавлена новая настройка для ограничения количества динамических подстолбцов в компактной части данных после слияния независимо от параметров, указанных в типе данных"}]}]} />

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

Например, если в таблице есть столбец типа JSON(max\_dynamic\_paths=1024), а значение настройки merge\_max\_dynamic\_subcolumns\_in\_compact\_part равно 128,
то после слияния в компактную часть данных количество динамических путей в этой части будет уменьшено до 128, и только 128 путей будут записаны как динамические подстолбцы.

<div id="merge_max_dynamic_subcolumns_in_wide_part">
  ## merge\_max\_dynamic\_subcolumns\_in\_wide\_part
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "auto"},{"label": "Добавлена новая настройка для ограничения количества динамических подстолбцов в Wide-части после слияния независимо от параметров, указанных в типе данных"}]}]} />

Максимальное количество динамических подстолбцов, которые могут быть созданы в каждом столбце в Wide-части данных после слияния.
Позволяет уменьшить количество файлов, создаваемых в Wide-части данных, независимо от динамических параметров, указанных в типе данных.

Например, если в таблице есть столбец типа JSON(max\_dynamic\_paths=1024), а значение настройки merge\_max\_dynamic\_subcolumns\_in\_wide\_part равно 128,
то после слияния в Wide-часть данных количество динамических путей в этой части будет уменьшено до 128, и только 128 путей будут записаны как динамические подстолбцы.

<div id="merge_selecting_sleep_ms">
  ## merge\_selecting\_sleep\_ms
</div>

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

Минимальное время ожидания перед повторной попыткой выбрать части для слияния, если
ранее ни одна часть не была выбрана. Меньшее значение настройки будет чаще запускать задачи выбора в
background\_schedule\_pool, что приведёт к большому количеству запросов
к ZooKeeper в крупных кластерах

<div id="merge_selecting_sleep_slowdown_factor">
  ## merge\_selecting\_sleep\_slowdown\_factor
</div>

<SettingsInfoBlock type="Float" default_value="1.2" />

Время ожидания задачи выбора слияния умножается на этот коэффициент, когда
слияний для выполнения нет, и делится на него, когда слияние назначено

<div id="merge_selector_algorithm">
  ## merge\_selector\_algorithm
</div>

<SettingsInfoBlock type="MergeSelectorAlgorithm" default_value="Simple" />

Алгоритм выбора частей для слияния

<div id="merge_selector_base">
  ## merge\_selector\_base
</div>

<SettingsInfoBlock type="Float" default_value="5" />

Влияет на усиление записи для назначенных
слияний (настройка экспертного уровня; не изменяйте её, если не понимаете,
как она работает). Применяется к селекторам слияний Simple и StochasticSimple

<div id="merge_selector_blurry_base_scale_factor">
  ## merge\_selector\_blurry\_base\_scale\_factor
</div>

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

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

<div id="merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once">
  ## merge\_selector\_enable\_heuristic\_to\_lower\_max\_parts\_to\_merge\_at\_once
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Включает эвристику для простого селектора слияний, уменьшающую максимальный лимит при выборе слияний.
Это увеличивает количество параллельных слияний, что может помочь при ошибках TOO\_MANY\_PARTS, но при этом повышает усиление записи.

<div id="merge_selector_enable_heuristic_to_remove_small_parts_at_right">
  ## merge\_selector\_enable\_heuristic\_to\_remove\_small\_parts\_at\_right
</div>

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

Включает эвристику выбора частей для слияния, которая удаляет части с правой
стороны диапазона, если их размер меньше указанной доли (0.01) от sum\_size.
Работает для селекторов слияний Simple и StochasticSimple

<div id="merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent">
  ## merge\_selector\_heuristic\_to\_lower\_max\_parts\_to\_merge\_at\_once\_exponent
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "5"},{"label": "Новая настройка"}]}]} />

Управляет значением экспоненты, используемым в формулах для построения кривой снижения. Уменьшение экспоненты
уменьшает ширину слияний, что приводит к увеличению усиления записи. Верно и обратное.

<div id="merge_selector_window_size">
  ## merge\_selector\_window\_size
</div>

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

Сколько частей обрабатывать одновременно.

<div id="merge_total_max_bytes_to_prewarm_cache">
  ## merge\_total\_max\_bytes\_to\_prewarm\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "16106127360"},{"label": "Синхронизация с Cloud"}]}]} />

Доступно только в ClickHouse Cloud. Максимальный общий размер частей для предварительного прогрева
кэша при слиянии.

<div id="merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds">
  ## merge\_tree\_clear\_old\_broken\_detached\_parts\_ttl\_timeout\_seconds
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="merge_tree_clear_old_parts_interval_seconds">
  ## merge\_tree\_clear\_old\_parts\_interval\_seconds
</div>

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

Задаёт интервал в секундах, через который ClickHouse выполняет очистку старых
частей, WAL и мутаций.

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

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

<div id="merge_tree_clear_old_temporary_directories_interval_seconds">
  ## merge\_tree\_clear\_old\_temporary\_directories\_interval\_seconds
</div>

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

Задаёт интервал в секундах, с которым ClickHouse выполняет очистку старых
временных каталогов.

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

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

<div id="merge_tree_enable_clear_old_broken_detached">
  ## merge\_tree\_enable\_clear\_old\_broken\_detached
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="merge_with_recompression_ttl_timeout">
  ## merge\_with\_recompression\_ttl\_timeout
</div>

<SettingsInfoBlock type="Int64" default_value="14400" />

Минимальная задержка в секундах перед повторным слиянием с TTL для повторного сжатия.

<div id="merge_with_ttl_timeout">
  ## merge\_with\_ttl\_timeout
</div>

<SettingsInfoBlock type="Int64" default_value="14400" />

Минимальная задержка в секундах перед повторным выполнением слияния с delete TTL.

<div id="merge_workload">
  ## merge\_workload
</div>

Используется для регулирования использования и распределения ресурсов между слияниями и
другими рабочими нагрузками. Указанное значение используется в качестве значения настройки `workload` для
фоновых слияний этой таблицы. Если значение не указано (пустая строка), вместо него
используется настройка сервера `merge_workload`.

**См. также**

* [Планирование рабочих нагрузок](/ru/concepts/features/configuration/server-config/workload-scheduling)

<div id="min_absolute_delay_to_close">
  ## min\_absolute\_delay\_to\_close
</div>

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

Минимальная абсолютная задержка, по истечении которой сервис должен закрыться, прекратить обрабатывать запросы и не
возвращать Ok при проверке status.

<div id="min_age_to_force_merge_on_partition_only">
  ## min\_age\_to\_force\_merge\_on\_partition\_only
</div>

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

Определяет, следует ли применять `min_age_to_force_merge_seconds` только ко всей
партиции, а не к её подмножеству.

По умолчанию игнорирует настройку `max_bytes_to_merge_at_max_space_in_pool` (см.
`enable_max_bytes_limit_for_min_age_to_force_merge`).

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

* true, false

<div id="min_age_to_force_merge_seconds">
  ## min\_age\_to\_force\_merge\_seconds
</div>

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

Объединяет части, если все части в диапазоне старше значения
`min_age_to_force_merge_seconds`.

По умолчанию игнорирует настройку `max_bytes_to_merge_at_max_space_in_pool`
(см. `enable_max_bytes_limit_for_min_age_to_force_merge`).

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

* Положительное целое число.

<div id="min_bytes_for_compact_part">
  ## min\_bytes\_for\_compact\_part
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="min_bytes_for_full_part_storage">
  ## min\_bytes\_for\_full\_part\_storage
</div>

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

Доступно только в ClickHouse Cloud. Минимальный размер части данных в несжатом виде в байтах, при котором
для неё используется полный тип хранилища вместо packed

<div id="min_bytes_for_wide_part">
  ## min\_bytes\_for\_wide\_part
</div>

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

Минимальное количество байтов/строк в части данных, которая может храниться в формате `Wide`. Можно задать один, оба или ни один из этих параметров.

<div id="min_bytes_to_prewarm_caches">
  ## min\_bytes\_to\_prewarm\_caches
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "новая настройка"}]}]} />

Минимальный размер (в несжатых байтах), начиная с которого для новых частей выполняется предварительный прогрев кэша меток и кэша первичного индекса

<div id="min_bytes_to_rebalance_partition_over_jbod">
  ## min\_bytes\_to\_rebalance\_partition\_over\_jbod
</div>

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

Задает минимальный объем данных в байтах, при котором включается балансировка при распределении новых крупных
частей по дискам тома [JBOD](https://en.wikipedia.org/wiki/Non-RAID_drive_architectures).

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

* Положительное целое число.
* `0` — балансировка отключена.

**Использование**

Значение настройки `min_bytes_to_rebalance_partition_over_jbod` должно
быть не меньше значения
[max\_bytes\_to\_merge\_at\_max\_space\_in\_pool](/ru/reference/settings/merge-tree-settings#max_bytes_to_merge_at_max_space_in_pool)
/ 1024. В противном случае ClickHouse генерирует исключение.

<div id="min_columns_to_activate_adaptive_write_buffer">
  ## min\_columns\_to\_activate\_adaptive\_write\_buffer
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "500"},{"label": "новая настройка"}]}]} />

Позволяет снизить использование памяти в таблицах с большим количеством столбцов за счет адаптивных буферов записи.

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

* 0 - без ограничений
* 1 - всегда включен

<div id="min_compress_block_size">
  ## min\_compress\_block\_size
</div>

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

Минимальный размер блоков несжатых данных, необходимый для сжатия при
записи следующей отметки. Этот параметр также можно указать в глобальных настройках
(см. параметр [min\_compress\_block\_size](/ru/reference/settings/merge-tree-settings#min_compress_block_size)).
Значение, указанное при создании таблицы, переопределяет глобальное значение
для этого параметра.

<div id="min_compressed_bytes_to_fsync_after_fetch">
  ## min\_compressed\_bytes\_to\_fsync\_after\_fetch
</div>

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

Минимальное количество сжатых байтов для выполнения fsync части после fetch (0 — отключено)

<div id="min_compressed_bytes_to_fsync_after_merge">
  ## min\_compressed\_bytes\_to\_fsync\_after\_merge
</div>

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

Минимальное количество сжатых байтов, при котором для части после слияния выполняется fsync (0 — отключено)

<div id="min_delay_to_insert_ms">
  ## min\_delay\_to\_insert\_ms
</div>

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

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

<div id="min_delay_to_mutate_ms">
  ## min\_delay\_to\_mutate\_ms
</div>

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

Минимальная задержка перед мутацией таблицы MergeTree в миллисекундах, если есть много
незавершённых мутаций

<div id="min_free_disk_bytes_to_perform_insert">
  ## min\_free\_disk\_bytes\_to\_perform\_insert
</div>

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

Минимальное количество байтов, которое должно быть свободно на диске для
вставки данных. Если число доступных свободных байтов меньше
`min_free_disk_bytes_to_perform_insert`, генерируется исключение, и
вставка не выполняется. Обратите внимание, что этот параметр:

* учитывает параметр `keep_free_space_bytes`.
* не учитывает объём данных, который будет записан операцией
  `INSERT`.
* проверяется только если указано положительное (ненулевое) количество байтов

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

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

<Note>
  Если заданы и `min_free_disk_bytes_to_perform_insert`, и `min_free_disk_ratio_to_perform_insert`,
  ClickHouse будет ориентироваться на значение, которое позволит выполнять
  вставки при большем объёме свободного места.
</Note>

<div id="min_free_disk_ratio_to_perform_insert">
  ## min\_free\_disk\_ratio\_to\_perform\_insert
</div>

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

Минимальное отношение свободного места на диске к общему объёму дискового пространства, необходимое для выполнения `INSERT`. Должно быть
значением с плавающей запятой в диапазоне от 0 до 1. Обратите внимание, что эта настройка:

* учитывает настройку `keep_free_space_bytes`.
* не учитывает объём данных, который будет записан в ходе операции
  `INSERT`.
* проверяется только если указано положительное (ненулевое) значение отношения

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

* Float, 0.0 - 1.0

Обратите внимание: если заданы и `min_free_disk_ratio_to_perform_insert`, и
`min_free_disk_bytes_to_perform_insert`, ClickHouse будет ориентироваться
на значение, которое позволит выполнять вставки при большем объёме свободной
памяти.

<div id="min_index_granularity_bytes">
  ## min\_index\_granularity\_bytes
</div>

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

Минимально допустимый размер гранул данных в байтах.

Служит защитой от случайного создания таблиц со слишком низким значением
`index_granularity_bytes`.

<div id="min_level_for_full_part_storage">
  ## min\_level\_for\_full\_part\_storage
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Доступно только в ClickHouse Cloud. Минимальный уровень части данных, при котором
используется полный тип хранения вместо packed

<div id="min_level_for_wide_part">
  ## min\_level\_for\_wide\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Минимальный уровень части данных, при котором она создаётся в формате `Wide` вместо `Compact`.

<div id="min_marks_to_honor_max_concurrent_queries">
  ## min\_marks\_to\_honor\_max\_concurrent\_queries
</div>

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

Минимальное количество marks, которое должен прочитать запрос, чтобы применялась настройка [max\_concurrent\_queries](#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>
```

<div id="min_merge_bytes_to_use_direct_io">
  ## min\_merge\_bytes\_to\_use\_direct\_io
</div>

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

Минимальный объём данных для операции слияния, при котором используется прямой
I/O-доступ к диску хранилища. При слиянии частей ClickHouse вычисляет
суммарный объём всех данных, подлежащих слиянию. Если этот объём превышает
`min_merge_bytes_to_use_direct_io` байт, ClickHouse читает и записывает
данные на диск хранилища через интерфейс прямого I/O (параметр `O_DIRECT`).
Если `min_merge_bytes_to_use_direct_io = 0`, прямой I/O отключён.

<div id="min_parts_to_merge_at_once">
  ## min\_parts\_to\_merge\_at\_once
</div>

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

Минимальное количество частей данных, которые селектор слияний может выбрать для одновременного слияния
(настройка экспертного уровня; не изменяйте её, если не понимаете, как она работает).
0 — отключено. Работает для селекторов слияний Simple и StochasticSimple.

<div id="min_relative_delay_to_close">
  ## min\_relative\_delay\_to\_close
</div>

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

Минимальная задержка относительно других реплик, при которой узел должен закрыться, прекратить обслуживать
запросы и не возвращать Ok при проверке status.

<div id="min_relative_delay_to_measure">
  ## min\_relative\_delay\_to\_measure
</div>

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

Вычислять относительную задержку реплики, только если абсолютная задержка не меньше этого значения.

<div id="min_relative_delay_to_yield_leadership">
  ## min\_relative\_delay\_to\_yield\_leadership
</div>

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

Устаревшая настройка; не имеет эффекта.

<div id="min_replicated_logs_to_keep">
  ## min\_replicated\_logs\_to\_keep
</div>

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

Хранить примерно такое количество последних записей в журнале ZooKeeper, даже если они
устаревшие. На работу таблиц это не влияет: используется только для диагностики журнала ZooKeeper
перед очисткой.

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

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

<div id="min_rows_for_compact_part">
  ## min\_rows\_for\_compact\_part
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="min_rows_for_full_part_storage">
  ## min\_rows\_for\_full\_part\_storage
</div>

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

Доступно только в ClickHouse Cloud. Минимальное количество строк, при котором для data part используется полный тип
хранения вместо packed

<div id="min_rows_for_wide_part">
  ## min\_rows\_for\_wide\_part
</div>

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

Минимальное количество строк для создания части данных в формате `Wide` вместо `Compact`.

<div id="min_rows_to_fsync_after_merge">
  ## min\_rows\_to\_fsync\_after\_merge
</div>

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

Минимальное количество строк, при котором для части после слияния выполняется fsync (0 — отключено)

<div id="mutation_workload">
  ## mutation\_workload
</div>

Используется для управления тем, как ресурсы используются и распределяются между мутациями и
другими рабочими нагрузками. Указанное значение используется в качестве значения настройки `workload` для
фоновых мутаций этой таблицы. Если оно не указано (пустая строка), вместо него
используется настройка сервера `mutation_workload`.

**См. также**

* [Планирование рабочих нагрузок](/ru/concepts/features/configuration/server-config/workload-scheduling)

<div id="non_replicated_deduplication_window">
  ## non\_replicated\_deduplication\_window
</div>

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

Количество последних вставленных blocks в нереплицируемой
таблице [MergeTree](/ru/reference/engines/table-engines/mergetree-family/mergetree),
для которых сохраняются хеш-суммы для проверки дубликатов.

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

* Любое положительное целое число.
* `0` (отключает дедупликацию).

Используется механизм дедупликации, аналогичный механизму в реплицируемых таблицах (см.
настройку [replicated\_deduplication\_window](#replicated_deduplication_window)).
Хеш-суммы созданных частей записываются в локальный файл на диске.

<div id="notify_newest_block_number">
  ## notify\_newest\_block\_number
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Синхронизация с Cloud"}]}]} />

Уведомлять SharedJoin или SharedSet о номере последнего блока. Только в ClickHouse Cloud.

<div id="nullable_serialization_version">
  ## nullable\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeNullableSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "basic"},{"label": "новая настройка"}]}]} />

Управляет методом сериализации для столбцов `Nullable(T)`.

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

* basic — использовать стандартную сериализацию для `Nullable(T)`.

* allow\_sparse — разрешить использование разреженного кодирования для `Nullable(T)`.

<div id="number_of_free_entries_in_pool_to_execute_mutation">
  ## number\_of\_free\_entries\_in\_pool\_to\_execute\_mutation
</div>

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

Если количество свободных слотов в пуле меньше указанного, не
выполнять мутации частей. Это нужно, чтобы оставить свободные потоки для обычных слияний и
избежать ошибок «Too many parts».

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

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

**Использование**

Значение настройки `number_of_free_entries_in_pool_to_execute_mutation`
должно быть меньше значения [background\_pool\_size](/ru/reference/settings/server-settings/settings#background_pool_size)

* [background\_merges\_mutations\_concurrency\_ratio](/ru/reference/settings/server-settings/settings#background_merges_mutations_concurrency_ratio).
  В противном случае ClickHouse сгенерирует исключение.

<div id="number_of_free_entries_in_pool_to_execute_optimize_entire_partition">
  ## number\_of\_free\_entries\_in\_pool\_to\_execute\_optimize\_entire\_partition
</div>

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

Если количество свободных слотов в пуле меньше указанного, не выполнять
оптимизацию всей партиции в фоновом режиме (эта задача создаётся,
если задано `min_age_to_force_merge_seconds` и включено
`min_age_to_force_merge_on_partition_only`). Это нужно, чтобы оставить свободные потоки
для обычных слияний и избежать ошибки "Too many parts".

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

* Положительное целое число.

Значение настройки `number_of_free_entries_in_pool_to_execute_optimize_entire_partition`
должно быть меньше значения
[background\_pool\_size](/ru/reference/settings/server-settings/settings#background_pool_size)

* [background\_merges\_mutations\_concurrency\_ratio](/ru/reference/settings/server-settings/settings#background_merges_mutations_concurrency_ratio).
  В противном случае ClickHouse генерирует исключение.

<div id="number_of_free_entries_in_pool_to_lower_max_size_of_merge">
  ## number\_of\_free\_entries\_in\_pool\_to\_lower\_max\_size\_of\_merge
</div>

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

Если количество свободных слотов в пуле
(или в реплицируемой очереди) меньше указанного, начинает уменьшаться максимальный размер слияния для обработки
(или для постановки в очередь).
Это нужно для того, чтобы можно было выполнять небольшие слияния, не заполняя пул
долго выполняющимися слияниями.

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

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

<div id="number_of_mutations_to_delay">
  ## number\_of\_mutations\_to\_delay
</div>

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

Если в таблице есть как минимум
столько незавершённых мутаций, мутации таблицы будут искусственно замедлены.
Отключено, если установлено значение 0

<div id="number_of_mutations_to_throw">
  ## number\_of\_mutations\_to\_throw
</div>

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

Если в таблице есть как минимум столько незавершённых мутаций, генерируется исключение 'Too many mutations'.
Отключено, если установлено значение 0

<div id="number_of_partitions_to_consider_for_merge">
  ## number\_of\_partitions\_to\_consider\_for\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Синхронизация с Cloud"}]}]} />

Доступно только в ClickHouse Cloud. Для слияния рассматривается не более N
партиций. Партиции выбираются случайным образом с учетом весов, где вес
определяется количеством частей данных, которые можно слить в этой партиции.

<div id="object_serialization_version">
  ## object\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeObjectSerializationVersion" default_value="v3" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "v2"},{"label": "Добавлена настройка для управления версиями сериализации JSON"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "v3"},{"label": "По умолчанию для JSON включена версия сериализации v3 для использования расширенной сериализации общих данных"}]}]} />

Версия сериализации для типа данных JSON. Используется для обеспечения совместимости.

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

* `v1`
* `v2`
* `v3`

Только версия `v3` поддерживает изменение версии сериализации общих данных.

<div id="object_shared_data_buckets_for_compact_part">
  ## object\_shared\_data\_buckets\_for\_compact\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "8"},{"label": "Добавлена настройка для управления количеством бакетов общих данных в JSON-сериализации в компактных частях"}]}]} />

Количество бакетов для сериализации общих данных в JSON в компактных частях. Работает с сериализациями общих данных `map_with_buckets` и `advanced`.
Максимально допустимое значение — 256.

<div id="object_shared_data_buckets_for_wide_part">
  ## object\_shared\_data\_buckets\_for\_wide\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "32"},{"label": "Добавлена настройка для управления количеством бакетов общих данных при JSON-сериализации в частях типа Wide"}]}]} />

Количество бакетов общих данных при JSON-сериализации в частях типа Wide. Работает с сериализациями общих данных `map_with_buckets` и `advanced`.
Максимально допустимое значение — 256.

<div id="object_shared_data_serialization_version">
  ## object\_shared\_data\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="advanced" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "Добавлена настройка для управления версиями сериализации JSON"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "advanced"},{"label": "По умолчанию включена расширенная версия сериализации общих данных"}]}]} />

Версия сериализации общих данных внутри типа данных JSON.

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

* `map` - хранить общие данные как `Map(String, String)`
* `map_with_buckets` - хранить общие данные в виде нескольких отдельных столбцов `Map(String, String)`. Использование бакетов улучшает чтение отдельных путей из общих данных.
* `advanced` - специальная сериализация общих данных, предназначенная для значительного ускорения чтения отдельных путей из общих данных.
  Обратите внимание, что эта сериализация увеличивает объем общих данных, хранимых на диске, поскольку сохраняется большой объем дополнительной информации.

Количество бакетов для сериализаций `map_with_buckets` и `advanced` определяется настройками
[object\_shared\_data\_buckets\_for\_compact\_part](#object_shared_data_buckets_for_compact_part)/[object\_shared\_data\_buckets\_for\_wide\_part](#object_shared_data_buckets_for_wide_part).

<div id="object_shared_data_serialization_version_for_zero_level_parts">
  ## object\_shared\_data\_serialization\_version\_for\_zero\_level\_parts
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="map_with_buckets" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "Добавлена настройка для управления версиями сериализации JSON для частей нулевого уровня"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "map_with_buckets"},{"label": "По умолчанию включена версия сериализации общих данных map_with_buckets для частей нулевого уровня"}]}]} />

Эта настройка позволяет указать другую версию сериализации
общих данных внутри JSON type для частей нулевого уровня, создаваемых при вставках.
Рекомендуется не использовать сериализацию общих данных `advanced` для частей нулевого уровня, так как это может
значительно увеличить время вставки.

<div id="old_parts_lifetime">
  ## old\_parts\_lifetime
</div>

<SettingsInfoBlock type="Seconds" default_value="480" />

Время хранения неактивных частей (в секундах), используемое для защиты от потери данных
при внезапной перезагрузке сервера.

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

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

После слияния нескольких частей в новую часть ClickHouse помечает исходные
части как неактивные и удаляет их только через `old_parts_lifetime` секунд.
Неактивные части удаляются, если они не используются текущими запросами, то есть если
`refcount` части равен 1.

Для новых частей не вызывается `fsync`, поэтому некоторое время новые части существуют только
в оперативной памяти сервера (кэше ОС). Если сервер внезапно перезагрузится, новые
части могут быть потеряны или повреждены. Чтобы защитить данные, неактивные части не удаляются
сразу.

При запуске ClickHouse проверяет целостность частей. Если слитая
часть повреждена, ClickHouse возвращает неактивные части в список активных
и позже снова сливает их. Затем повреждённая часть переименовывается (добавляется
префикс `broken_`) и перемещается в папку `detached`. Если слитая часть
не повреждена, исходные неактивные части переименовываются (добавляется
префикс `ignored_`) и перемещаются в папку `detached`.

Значение `dirty_expire_centisecs` по умолчанию (параметр ядра Linux) — 30
секунд (максимальное время, в течение которого записанные данные хранятся только в оперативной памяти), но при
высокой нагрузке на дисковую систему данные могут быть записаны значительно позже. Экспериментально
для `old_parts_lifetime` было выбрано значение 480 секунд, за которое
гарантированно выполняется запись новой части на диск.

<div id="optimize_row_order">
  ## optimize\_row\_order
</div>

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

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

Действует только для обычных таблиц с движком MergeTree. Для
специализированных таблиц семейства MergeTree (например, CollapsingMergeTree) не применяется.

Таблицы MergeTree могут (опционально) сжиматься с помощью [кодеков сжатия](/ru/reference/statements/create/table#column_compression_codec).
Универсальные кодеки сжатия, такие как LZ4 и ZSTD, обеспечивают максимальную степень
сжатия, если в данных есть повторяющиеся шаблоны. Длинные последовательности одинаковых значений
обычно сжимаются очень хорошо.

Если этот параметр включен, ClickHouse пытается сохранять данные в новых
вставляемых частях в таком порядке строк, который минимизирует количество последовательностей одинаковых значений
в столбцах новой части таблицы.
Иными словами, чем меньше таких последовательностей, тем длиннее каждая из них
и тем лучше они сжимаются.

Найти оптимальный порядок строк вычислительно неосуществимо (NP-трудная задача).
Поэтому ClickHouse использует эвристику, чтобы быстро находить такой порядок строк, который
всё же улучшает степень сжатия по сравнению с исходным порядком строк.

<details markdown="1">
  <summary>Эвристика для поиска порядка строк</summary>

  В общем случае строки таблицы (или части таблицы) можно свободно перемешивать,
  поскольку SQL считает одну и ту же таблицу (часть таблицы) с разным порядком строк
  эквивалентной.

  Эта свобода перемешивания строк ограничивается, если для таблицы
  определен первичный ключ. В ClickHouse первичный ключ `C1, C2, ..., CN` требует, чтобы
  строки таблицы были отсортированы по столбцам `C1`, `C2`, ... `Cn` ([кластеризованный индекс](https://en.wikipedia.org/wiki/Database_index#Clustered)).
  В результате строки можно перемешивать только в пределах «классов эквивалентности»,
  то есть групп строк с одинаковыми значениями в столбцах первичного ключа.
  Идея состоит в том, что первичные ключи с высокой мощностью, например ключи,
  включающие столбец временной метки `DateTime64`, приводят к появлению множества маленьких классов
  эквивалентности. И наоборот, таблицы с первичным ключом низкой мощности образуют немногочисленные, но
  крупные классы эквивалентности. Таблица без первичного ключа представляет собой крайний
  случай: один класс эквивалентности, охватывающий все строки.

  Чем меньше классов эквивалентности и чем они больше, тем выше степень
  свободы при повторном перемешивании строк.

  Эвристика, применяемая для поиска наилучшего порядка строк внутри каждого класса
  эквивалентности, предложена D. Lemire и O. Kaser в
  [Reordering columns for smaller indexes](https://doi.org/10.1016/j.ins.2011.02.002)
  и основана на сортировке строк внутри каждого класса эквивалентности по возрастанию
  мощности столбцов, не входящих в первичный ключ.

  Она выполняется в три шага:

  1. Найти все классы эквивалентности на основе значений строк в столбцах первичного ключа.
  2. Для каждого класса эквивалентности вычислить (обычно оценить) мощность
     столбцов, не входящих в первичный ключ.
  3. Для каждого класса эквивалентности отсортировать строки в порядке возрастания
     мощности столбцов, не входящих в первичный ключ.
</details>

Если параметр включен, операции вставки требуют дополнительных затрат CPU на анализ и
оптимизацию порядка строк в новых данных. Ожидается, что INSERT будут выполняться на 30–50%
дольше в зависимости от характеристик данных.
Степень сжатия LZ4 или ZSTD в среднем улучшается на 20–40%.

Этот параметр лучше всего работает для таблиц без первичного ключа или с первичным ключом
низкой мощности, то есть для таблиц с небольшим числом различных значений первичного ключа.
Для первичных ключей высокой мощности, например включающих столбцы временных меток типа
`DateTime64`, заметного эффекта от этого параметра не ожидается.

<div id="packed_skip_index_max_bytes">
  ## packed\_skip\_index\_max\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Новая настройка. Упаковывает любой подпоток skip-индекса, чей сериализованный размер на диске не превышает указанное число байт, в единый архив skp_idx.packed для каждой части; более крупные подпотоки остаются в отдельной структуре skp_idx_<name>.idx2 / .mrk2. Решение принимается для каждого подпотока во время записи."}]}]} />

Порог (сериализованный размер на диске в байтах, то есть после сжатия подпотока и цепочки
хеширования), ниже которого подпоток skip-индекса упаковывается в единый архив `skp_idx.packed`
для каждой части вместо записи в отдельные файлы `skp_idx_<name>.idx2` / `.mrk2`.
Подпотоки больше этого значения остаются в прежней структуре с отдельными файлами. Решение
принимается независимо для каждого подпотока во время записи, поэтому одна часть может содержать
небольшие индексы (например, `minmax`) в упакованном виде, а большие (например, тяжёлый `bloom_filter`) —
в отдельных файлах. Установите 0,
чтобы полностью отключить упаковку (по умолчанию).

Каждый подпоток skip-индекса фактически состоит из файла данных и файла marks; оба буферизуются
в памяти до порогового значения, прежде чем принимается решение о сбросе на диск. Поэтому
пиковое потребление памяти при записи масштабируется как `2 * packed_skip_index_max_bytes * (number of substreams that stay
below the threshold)`.

Полнотекстовые индексы не поддерживаются этой настройкой и никогда не упаковываются.

Упаковка снижает нагрузку на inode, когда для таблицы определено много skip-индексов (например,
с `add_minmax_index_for_numeric_columns`).

Формат на диске является самоописывающимся: средства чтения обнаруживают `skp_idx.packed` и прозрачно обслуживают упакованные
подпотоки из него. Изменение этой настройки влияет только на вновь записанные части;
существующие части сохраняют ту структуру, которая была у них на момент записи.

Известное ограничение: `system.data_skipping_indices.data_uncompressed_bytes` и
`system.parts.secondary_indices_uncompressed_bytes` сообщают размер в сжатом виде для упакованных
подпотоков (индекс архива не хранит размеры в несжатом виде). Это лишь косметическая особенность в
мониторинге с одним функциональным последствием:
`distributed_index_analysis_min_indexes_bytes_to_activate` сравнивает с
`data_uncompressed`, поэтому упакованный индекс, который хорошо сжимается (`set` или `bloom_filter` по
строкам), может не превысить порог активации, даже если реальный размер в несжатом виде превысил бы его.
В качестве fallback используется обычный план выполнения запроса, а не неправильный результат.

<div id="part_minmax_index_columns">
  ## part\_minmax\_index\_columns
</div>

<SettingsInfoBlock type="MergeTreePartMinMaxIndexColumns" default_value="partition_key_only" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "partition_key_only"},{"label": "Новая настройка."}]}]} />

Определяет, какие столбцы охватывает индекс min-max для каждой части. Каждое следующее значение добавляет новую группу столбцов к предыдущему.

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

* `partition_key_only` — отслеживаются только столбцы ключа партиции.
* `with_block_number_offset` — столбцы ключа партиции, а также сохранённые виртуальные столбцы `_block_number` и `_block_offset`. Позволяет отсеивать части по этим столбцам.

<div id="part_moves_between_shards_delay_seconds">
  ## part\_moves\_between\_shards\_delay\_seconds
</div>

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

Время ожидания до и после перемещения частей между сегментами.

<div id="part_moves_between_shards_enable">
  ## part\_moves\_between\_shards\_enable
</div>

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

Экспериментальная, не полностью реализованная возможность перемещения частей между сегментами. Не учитывает
выражения сегментирования.

<div id="parts_to_delay_insert">
  ## parts\_to\_delay\_insert
</div>

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

Если число активных частей в одной партиции превышает
значение `parts_to_delay_insert`, выполнение `INSERT` искусственно замедляется.

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

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

ClickHouse искусственно увеличивает время выполнения `INSERT` (добавляет «sleep»), чтобы
фоновый процесс слияния объединял части быстрее, чем они добавляются.

<div id="parts_to_throw_insert">
  ## parts\_to\_throw\_insert
</div>

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

Если число активных частей в одной партиции превышает значение
`parts_to_throw_insert`, выполнение `INSERT` прерывается с исключением `Too many
parts (N). Merges are processing significantly slower than inserts`.

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

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

Чтобы добиться максимальной производительности запросов `SELECT`, необходимо
минимизировать количество обрабатываемых частей, см. [Merge Tree](/ru/resources/develop-contribute/introduction/architecture#merge-tree).

До версии 23.6 для этой настройки было установлено значение 300. Можно задать
другое, более высокое значение — это снизит вероятность ошибки `Too many parts`,
но при этом производительность `SELECT` может ухудшиться. Кроме того, в случае
проблем со слиянием (например, из-за недостатка места на диске) вы заметите их
позже, чем при исходном значении 300.

<div id="prefer_fetch_merged_part_size_threshold">
  ## prefer\_fetch\_merged\_part\_size\_threshold
</div>

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

Если суммарный размер частей превышает этот порог, а время с момента создания
записи в журнале репликации больше, чем
`prefer_fetch_merged_part_time_threshold`, то предпочтительнее получить слитую часть
с реплики вместо локального выполнения слияния. Это позволяет ускорить очень долгие
слияния.

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

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

<div id="prefer_fetch_merged_part_time_threshold">
  ## prefer\_fetch\_merged\_part\_time\_threshold
</div>

<SettingsInfoBlock type="Seconds" default_value="3600" />

Если время, прошедшее с момента создания записи в журнале репликации (ClickHouse Keeper или ZooKeeper),
превышает этот порог, а суммарный размер частей
больше `prefer_fetch_merged_part_size_threshold`, то предпочтительнее получить
слитую часть с реплики, а не выполнять слияние локально. Это позволяет ускорить
очень длительные слияния.

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

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

<div id="prewarm_mark_cache">
  ## prewarm\_mark\_cache
</div>

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

Если значение равно true, кэш меток будет
предварительно прогреваться за счёт сохранения меток в кэше меток при вставках, слияниях, загрузках и при
запуске сервера

<div id="prewarm_primary_key_cache">
  ## prewarm\_primary\_key\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если true, кэш первичного индекса
будет предварительно прогреваться за счёт сохранения меток в кэше меток при вставках, слияниях,
загрузке и при запуске сервера

<div id="primary_key_compress_block_size">
  ## primary\_key\_compress\_block\_size
</div>

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

Размер блока сжатия первичного ключа; фактический размер сжимаемого блока.

<div id="primary_key_compression_codec">
  ## primary\_key\_compression\_codec
</div>

<SettingsInfoBlock type="String" default_value="ZSTD(3)" />

Кодек сжатия, используемый для первичного ключа; поскольку первичный ключ достаточно мал и кэшируется, по умолчанию используется ZSTD(3).

<div id="primary_key_lazy_load">
  ## primary\_key\_lazy\_load
</div>

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

Загружать первичный ключ в память
при первом использовании, а не при инициализации таблицы. Это может сэкономить память
при наличии большого количества таблиц.

<div id="primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns">
  ## primary\_key\_ratio\_of\_unique\_prefix\_values\_to\_skip\_suffix\_columns
</div>

<SettingsInfoBlock type="Float" default_value="0.9" />

Если значение столбца первичного ключа в части данных изменяется хотя бы
с такой частотой, пропускается загрузка следующих столбцов в память. Это позволяет экономить
память, не загружая бесполезные столбцы первичного ключа.

<div id="propagate_types_serialization_versions_to_nested_types">
  ## propagate\_types\_serialization\_versions\_to\_nested\_types
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "По умолчанию распространять версии сериализации типов данных на вложенные типы"}]}]} />

Если true, версии сериализации, такие как string\_serialization\_version, будут распространяться на вложенные типы, такие как Array/Map/Nullable/JSON/etc. Если отключено, версия сериализации будет применяться только к столбцам верхнего уровня этого типа и Tuple el

<div id="ratio_of_defaults_for_sparse_serialization">
  ## ratio\_of\_defaults\_for\_sparse\_serialization
</div>

<SettingsInfoBlock type="Float" default_value="0.9375" />

Минимальное отношение количества *значений по умолчанию* к количеству *всех* значений
в столбце. При таком значении столбец будет храниться с использованием разреженной
сериализации.

Если столбец разреженный (содержит в основном нули), ClickHouse может закодировать его в
разреженном формате и автоматически оптимизировать вычисления — данным не требуется
полная распаковка во время выполнения запросов. Чтобы включить эту разреженную
сериализацию, задайте для настройки `ratio_of_defaults_for_sparse_serialization`
значение меньше 1.0. Если значение больше или равно 1.0,
столбцы всегда будут записываться с использованием обычной полной сериализации.

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

* Float в диапазоне от `0` до `1`, чтобы включить разреженную сериализацию
* `1.0` (или больше), если вы не хотите использовать разреженную сериализацию

**Пример**

Обратите внимание, что в следующей таблице в столбце `s` у 95%
строк указана пустая строка. В `my_regular_table` мы не используем разреженную сериализацию, а в
`my_sparse_table` задаём `ratio_of_defaults_for_sparse_serialization`
равным 0.95:

```sql theme={null}
CREATE TABLE my_regular_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_regular_table
SELECT
number AS id,
number % 20 = 0 ? toString(number): '' AS s
FROM
numbers(10000000);

CREATE TABLE my_sparse_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id
SETTINGS ratio_of_defaults_for_sparse_serialization = 0.95;

INSERT INTO my_sparse_table
SELECT
number,
number % 20 = 0 ? toString(number): ''
FROM
numbers(10000000);
```

Обратите внимание, что столбец `s` в `my_sparse_table` занимает меньше места на диске:

```sql theme={null}
SELECT table, name, data_compressed_bytes, data_uncompressed_bytes FROM system.columns
WHERE table LIKE 'my_%_table';
```

```response theme={null}
┌─table────────────┬─name─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┐
│ my_regular_table │ id   │              37790741 │                75488328 │
│ my_regular_table │ s    │               2451377 │                12683106 │
│ my_sparse_table  │ id   │              37790741 │                75488328 │
│ my_sparse_table  │ s    │               2283454 │                 9855751 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘
```

Вы можете проверить, использует ли столбец разреженное кодирование, посмотрев значение в
столбце `serialization_kind` таблицы `system.parts_columns`:

```sql theme={null}
SELECT column, serialization_kind FROM system.parts_columns
WHERE table LIKE 'my_sparse_table';
```

Вы можете увидеть, какие части `s` были сохранены с помощью разреженной сериализации:

```response theme={null}
┌─column─┬─serialization_kind─┐
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
└────────┴────────────────────┘
```

<div id="reduce_blocking_parts_sleep_ms">
  ## reduce\_blocking\_parts\_sleep\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "5000"},{"label": "Синхронизация с Cloud"}]}]} />

Доступно только в ClickHouse Cloud. Минимальное время ожидания перед повторной
попыткой сократить число блокирующих частей, если не было удалено/заменено ни одного диапазона. Более низкое
значение будет часто запускать задачи в background\_schedule\_pool, что
приведёт к большому количеству запросов к ZooKeeper в крупных кластерах

<div id="refresh_parts_interval">
  ## refresh\_parts\_interval
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Если значение больше нуля, обновляет список частей данных из базовой файловой системы, чтобы проверить, не были ли данные обновлены на более низком уровне.
Может быть задано только в том случае, если таблица расположена на дисках только для чтения (это означает, что данная реплика доступна только для чтения, а запись данных выполняется другой репликой).

<div id="refresh_statistics_interval">
  ## refresh\_statistics\_interval
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "300"},{"label": "Включить кэш статистики"}]}, {"id": "row-2","items": [{"label": "25.11"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Интервал обновления кэша статистики в секундах. При значении 0 обновление отключается.

<div id="remote_fs_execute_merges_on_single_replica_time_threshold">
  ## remote\_fs\_execute\_merges\_on\_single\_replica\_time\_threshold
</div>

<SettingsInfoBlock type="Seconds" default_value="10800" />

Если значение этой настройки больше нуля, слияние немедленно запускает только одна реплика, если слитая часть находится в общем хранилище.

<Note>
  Репликация с нулевым копированием не готова к использованию в продакшне
  Репликация с нулевым копированием отключена по умолчанию в ClickHouse версии 22.8 и
  выше.

  Эту возможность не рекомендуется использовать в продакшне.
</Note>

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

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

<div id="remote_fs_zero_copy_path_compatible_mode">
  ## remote\_fs\_zero\_copy\_path\_compatible\_mode
</div>

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

Использовать zero-copy в режиме совместимости в процессе преобразования.

<div id="remote_fs_zero_copy_zookeeper_path">
  ## remote\_fs\_zero\_copy\_zookeeper\_path
</div>

<SettingsInfoBlock type="String" default_value="/clickhouse/zero_copy" />

Путь в ZooKeeper для информации zero-copy, не привязанной к таблице.

<div id="remove_empty_parts">
  ## remove\_empty\_parts
</div>

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

Удалять пустые части после того, как они были отсечены TTL, мутацией или алгоритмом
схлопывающего слияния.

<div id="remove_rolled_back_parts_immediately">
  ## remove\_rolled\_back\_parts\_immediately
</div>

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

Настройка для незавершённой экспериментальной функции.

<div id="remove_unused_patch_parts">
  ## remove\_unused\_patch\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "новая настройка"}]}]} />

Удалять в фоновом режиме патч-части, применённые ко всем активным частям.

<div id="replace_long_file_name_to_hash">
  ## replace\_long\_file\_name\_to\_hash
</div>

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

Если имя файла для столбца слишком длинное (более 'max\_file\_name\_length'
байт), оно заменяется на SipHash128

<div id="replicated_can_become_leader">
  ## replicated\_can\_become\_leader
</div>

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

Если `true`, реплики реплицируемых таблиц на этом узле будут пытаться
стать лидером.

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

* `true`
* `false`

<div id="replicated_deduplication_window">
  ## replicated\_deduplication\_window
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "10000"},{"label": "увеличено значение по умолчанию"}]}]} />

Количество последних вставленных блоков, для которых ClickHouse Keeper хранит
хеш-суммы для проверки дубликатов.

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

* Любое положительное целое число.
* 0 (отключает дедупликацию)

Команда `Insert` создаёт один или несколько блоков (частей). Для
[дедупликации вставок](/ru/reference/engines/table-engines/mergetree-family/replication)
при записи в реплицируемые таблицы ClickHouse записывает хеш-суммы
созданных частей в ClickHouse Keeper. Хеш-суммы хранятся только для
последних `replicated_deduplication_window` блоков. Самые старые хеш-суммы
удаляются из ClickHouse Keeper.

Большое значение `replicated_deduplication_window` замедляет `Inserts`,
поскольку приходится сравнивать больше записей. Хеш-сумма вычисляется на
основе состава имён и типов полей, а также данных вставленной
части (потока байтов).

<div id="replicated_deduplication_window_for_async_inserts">
  ## replicated\_deduplication\_window\_for\_async\_inserts
</div>

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

Количество последних блоков, вставленных асинхронно, для которых ClickHouse Keeper
хранит хеш-суммы для проверки дубликатов.

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

* Любое положительное целое число.
* 0 (отключает дедупликацию для async\_inserts)

При выполнении команды [Async Insert](/ru/reference/settings/session-settings#async_insert) данные
кэшируются в одном или нескольких блоках (частях). Для [дедупликации вставок](/ru/reference/engines/table-engines/mergetree-family/replication)
при записи в реплицируемые таблицы ClickHouse записывает хеш-суммы каждой
вставки в ClickHouse Keeper. Хеш-суммы хранятся только для последних
`replicated_deduplication_window_for_async_inserts` блоков. Самые старые хеш-суммы
удаляются из ClickHouse Keeper.
Большое значение `replicated_deduplication_window_for_async_inserts` замедляет
`Async Inserts`, поскольку приходится сравнивать больше записей.
Хеш-сумма вычисляется на основе набора имён и типов полей,
а также данных вставки (потока байтов).

<div id="replicated_deduplication_window_seconds">
  ## replicated\_deduplication\_window\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "3600"},{"label": "уменьшено значение по умолчанию"}]}]} />

Количество секунд, по истечении которых хеш-суммы вставленных блоков
удаляются из ClickHouse Keeper.

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

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

Как и [replicated\_deduplication\_window](#replicated_deduplication_window),
`replicated_deduplication_window_seconds` задаёт, как долго хранить хеш-
суммы блоков для дедупликации вставок. Хеш-суммы старше
`replicated_deduplication_window_seconds` удаляются из ClickHouse Keeper,
даже если они моложе, чем ` replicated_deduplication_window`.

Время отсчитывается относительно времени самой последней записи, а не
относительно текущего времени. Если это единственная запись, она будет храниться вечно.

<div id="replicated_deduplication_window_seconds_for_async_inserts">
  ## replicated\_deduplication\_window\_seconds\_for\_async\_inserts
</div>

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

Количество секунд, по истечении которых хеш-суммы асинхронных вставок
удаляются из ClickHouse Keeper.

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

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

Подобно [replicated\_deduplication\_window\_for\_async\_inserts](#replicated_deduplication_window_for_async_inserts),
`replicated_deduplication_window_seconds_for_async_inserts` задаёт, как
долго хранить хеш-суммы блоков для дедупликации асинхронных вставок. Хеш-суммы
старше `replicated_deduplication_window_seconds_for_async_inserts`
удаляются из ClickHouse Keeper, даже если их число меньше, чем
`replicated_deduplication_window_for_async_inserts`.

Это время отсчитывается относительно времени самой последней записи, а не
от текущего времени. Если запись только одна, она будет храниться вечно.

<div id="replicated_fetches_http_connection_timeout">
  ## replicated\_fetches\_http\_connection\_timeout
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_fetches_http_receive_timeout">
  ## replicated\_fetches\_http\_receive\_timeout
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_fetches_http_send_timeout">
  ## replicated\_fetches\_http\_send\_timeout
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_fetches_min_part_level">
  ## replicated\_fetches\_min\_part\_level
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "новая настройка"}]}]} />

Минимальный уровень части для загрузки с других реплик. Части с уровнем ниже этого порога откладываются
(остаются в очереди репликации и повторно проверяются в каждом цикле планирования, а не пропускаются навсегда).
Используйте значение 1, чтобы отложить загрузку частей уровня 0 (ещё не слитых), снижая накладные расходы на репликацию при высокой ингестии.
По умолчанию: 0 (загружать все части независимо от уровня).

<div id="replicated_fetches_min_part_level_timeout_seconds">
  ## replicated\_fetches\_min\_part\_level\_timeout\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "300"},{"label": "новая настройка"}]}]} />

Тайм-аут в секундах, по истечении которого часть с уровнем ниже `replicated_fetches_min_part_level` всё равно будет загружена.
Используйте 0, чтобы отключить тайм-аут (части с уровнем ниже минимального откладываются на неопределённый срок до слияния).
По умолчанию: 300 (принудительная загрузка через 5 минут).

<div id="replicated_max_mutations_in_one_entry">
  ## replicated\_max\_mutations\_in\_one\_entry
</div>

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

Максимальное количество команд мутации, которые можно объединить и выполнить в
одной записи MUTATE\_PART (0 означает неограниченное количество)

<div id="replicated_max_parallel_fetches">
  ## replicated\_max\_parallel\_fetches
</div>

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

Устаревшая настройка; не имеет эффекта.

<div id="replicated_max_parallel_fetches_for_host">
  ## replicated\_max\_parallel\_fetches\_for\_host
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_max_parallel_fetches_for_table">
  ## replicated\_max\_parallel\_fetches\_for\_table
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_max_parallel_sends">
  ## replicated\_max\_parallel\_sends
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_max_parallel_sends_for_table">
  ## replicated\_max\_parallel\_sends\_for\_table
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="replicated_max_ratio_of_wrong_parts">
  ## replicated\_max\_ratio\_of\_wrong\_parts
</div>

<SettingsInfoBlock type="Float" default_value="0.5" />

Если отношение некорректных частей к общему количеству частей меньше этого значения —
разрешить запуск.

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

* Float, 0.0 - 1.0

<div id="search_orphaned_parts_disks">
  ## search\_orphaned\_parts\_disks
</div>

<SettingsInfoBlock type="SearchOrphanedPartsDisks" default_value="any" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "any"},{"label": "новая настройка"}]}]} />

ClickHouse сканирует все диски на наличие осиротевших частей данных при любом ATTACH или CREATE таблицы,
чтобы не допустить пропуска частей данных на неопределённых дисках (не включённых в политику).
Осиротевшие части данных появляются в результате потенциально небезопасной реконфигурации хранилища, например если диск был исключён из политики хранения.
Эта настройка ограничивает область поиска дисков по их характеристикам.

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

* any - область поиска не ограничена.
* local - область поиска ограничена локальными дисками.
* none - пустая область, поиск не выполняется

<div id="serialization_info_version">
  ## serialization\_info\_version
</div>

<SettingsInfoBlock type="MergeTreeSerializationInfoVersion" default_value="with_types" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "with_types"},{"label": "Переход на новый формат, поддерживающий пользовательскую сериализацию строк"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "basic"},{"label": "новая настройка"}]}]} />

Версия информации о сериализации, используемая при записи `serialization.json`.
Эта настройка необходима для обеспечения совместимости при обновлении кластера.

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

* `basic` - Базовый формат.
* `with_types` - Формат с дополнительным полем `types_serialization_versions`, позволяющим задавать версии сериализации для каждого типа.
  Это делает эффективными такие настройки, как `string_serialization_version`.

При поэтапном обновлении установите значение `basic`, чтобы новые серверы создавали
части данных, совместимые со старыми серверами. После завершения обновления
переключитесь на `WITH_TYPES`, чтобы включить версии сериализации для каждого типа.

<div id="share_nested_offsets">
  ## share\_nested\_offsets
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "Если установлено значение false, столбцы типа Array с именами, содержащими точки и имеющими общий префикс, обрабатываются как независимые столбцы вместо совместного использования файлов смещений в рамках устаревшей семантики Nested"}]}]} />

Когда включено (по умолчанию), столбцы типа Array с именами, содержащими точки и имеющими общий префикс (например, n.a и n.b),
рассматриваются как часть структуры Nested: они используют один общий файл смещений на диске (например, n.size0),
и во время INSERT проверяется, что размеры их массивов совпадают.
Когда отключено, каждый столбец типа Array получает собственный отдельный файл смещений, имена с точками не имеют
особой семантики, и скалярный столбец может сосуществовать со столбцами типа Array с именами с точками и тем же префиксом
(например, n UInt32 наряду с n.a Array(String)). Этот параметр нельзя изменить после создания таблицы.

<div id="shared_merge_tree_activate_coordinated_merges_tasks">
  ## shared\_merge\_tree\_activate\_coordinated\_merges\_tasks
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "Новая настройка"}]}, {"id": "row-2","items": [{"label": "25.8"},{"label": "0"},{"label": "Новая настройка"}]}, {"id": "row-3","items": [{"label": "25.7"},{"label": "0"},{"label": "Новая настройка"}]}, {"id": "row-4","items": [{"label": "25.6"},{"label": "0"},{"label": "Новая настройка"}]}, {"id": "row-5","items": [{"label": "25.10"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Включает перепланирование задач координируемых слияний. Это может быть полезно даже при
shared\_merge\_tree\_enable\_coordinated\_merges=0, поскольку позволяет заполнить статистику координатора слияний
и облегчить холодный старт.

<div id="shared_merge_tree_create_per_replica_metadata_nodes">
  ## shared\_merge\_tree\_create\_per\_replica\_metadata\_nodes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "0"},{"label": "Уменьшает объём метаданных в Keeper."}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "1"},{"label": "Синхронизация с Cloud"}]}]} />

Включает создание узлов /metadata и /columns для каждой реплики в ZooKeeper.
Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_disable_merges_and_mutations_assignment">
  ## shared\_merge\_tree\_disable\_merges\_and\_mutations\_assignment
</div>

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

Останавливает назначение слияний для shared merge tree. Доступно только в ClickHouse
Cloud

<div id="shared_merge_tree_empty_partition_lifetime">
  ## shared\_merge\_tree\_empty\_partition\_lifetime
</div>

<SettingsInfoBlock type="секунда" default_value="86400" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "86400"},{"label": "новая настройка"}]}]} />

Сколько секунд партиция будет храниться в Keeper, если в ней нет частей.

<div id="shared_merge_tree_enable_automatic_empty_partitions_cleanup">
  ## shared\_merge\_tree\_enable\_automatic\_empty\_partitions\_cleanup
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "Включено по умолчанию"}]}, {"id": "row-2","items": [{"label": "25.9"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Включает очистку записей Keeper для пустых партиций.

<div id="shared_merge_tree_enable_coordinated_merges">
  ## shared\_merge\_tree\_enable\_coordinated\_merges
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "новая настройка"}]}]} />

Включает стратегию координируемых слияний

<div id="shared_merge_tree_enable_keeper_parts_extra_data">
  ## shared\_merge\_tree\_enable\_keeper\_parts\_extra\_data
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Включает запись атрибутов в виртуальные части и коммит блоков в Keeper

<div id="shared_merge_tree_enable_outdated_parts_check">
  ## shared\_merge\_tree\_enable\_outdated\_parts\_check
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Синхронизация с Cloud"}]}]} />

Включает проверку устаревших частей. Доступно только в ClickHouse Cloud.

<div id="shared_merge_tree_idle_parts_update_seconds">
  ## shared\_merge\_tree\_idle\_parts\_update\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "3600"},{"label": "Синхронизация с Cloud"}]}]} />

Интервал в секундах между обновлениями частей без срабатывания наблюдения ZooKeeper
в shared merge tree. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_initial_parts_update_backoff_ms">
  ## shared\_merge\_tree\_initial\_parts\_update\_backoff\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "50"},{"label": "новая настройка"}]}]} />

Начальная задержка перед обновлением частей. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_interserver_http_connection_timeout_ms">
  ## shared\_merge\_tree\_interserver\_http\_connection\_timeout\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "100"},{"label": "новая настройка"}]}]} />

Тайм-аут для межсерверного HTTP-соединения. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_interserver_http_timeout_ms">
  ## shared\_merge\_tree\_interserver\_http\_timeout\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10000"},{"label": "Синхронизация с Cloud"}]}]} />

Тайм-ауты межсерверного HTTP-взаимодействия. Доступно только в ClickHouse
Cloud

<div id="shared_merge_tree_leader_update_period_random_add_seconds">
  ## shared\_merge\_tree\_leader\_update\_period\_random\_add\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Синхронизация с Cloud"}]}]} />

Добавляет к shared\_merge\_tree\_leader\_update\_period
равномерно распределённое случайное значение от 0 до x секунд,
чтобы избежать эффекта «стадного инстинкта». Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_leader_update_period_seconds">
  ## shared\_merge\_tree\_leader\_update\_period\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "30"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальный интервал повторной проверки лидерства при обновлении частей. Доступно только в
ClickHouse Cloud

<div id="shared_merge_tree_max_outdated_parts_to_process_at_once">
  ## shared\_merge\_tree\_max\_outdated\_parts\_to\_process\_at\_once
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальное количество устаревших частей, удаление которых лидер попытается подтвердить
за один HTTP-запрос. Доступно только в ClickHouse Cloud.

<div id="shared_merge_tree_max_parts_update_backoff_ms">
  ## shared\_merge\_tree\_max\_parts\_update\_backoff\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "5000"},{"label": "новая настройка"}]}]} />

Максимальная задержка при обновлении частей. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_max_parts_update_leaders_in_total">
  ## shared\_merge\_tree\_max\_parts\_update\_leaders\_in\_total
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "6"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальное число лидеров обновления частей. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_max_parts_update_leaders_per_az">
  ## shared\_merge\_tree\_max\_parts\_update\_leaders\_per\_az
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "2"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальное количество лидеров, отвечающих за обновление частей. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_max_replicas_for_parts_deletion">
  ## shared\_merge\_tree\_max\_replicas\_for\_parts\_deletion
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальное количество реплик, участвующих в удалении частей (поток killer). Доступно только
в ClickHouse Cloud

<div id="shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range">
  ## shared\_merge\_tree\_max\_replicas\_to\_merge\_parts\_for\_each\_parts\_range
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "5"},{"label": "Синхронизация с Cloud"}]}]} />

Максимальное число реплик, которые будут пытаться назначать потенциально конфликтующие слияния (это позволяет избежать лишних конфликтов при назначении слияний). 0 означает, что параметр отключён. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_max_suspicious_broken_parts">
  ## shared\_merge\_tree\_max\_suspicious\_broken\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "Максимальное число поврежденных частей для SMT; при превышении автоматическое отсоединение запрещается"}]}]} />

Максимальное число поврежденных частей для SMT; при превышении автоматическое отсоединение запрещается.

<div id="shared_merge_tree_max_suspicious_broken_parts_bytes">
  ## shared\_merge\_tree\_max\_suspicious\_broken\_parts\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "Максимальный суммарный размер всех поврежденных частей для SMT; при превышении этого значения автоматическое отсоединение запрещается"}]}]} />

Максимальный суммарный размер всех поврежденных частей для SMT; при превышении этого значения автоматическое отсоединение запрещается.

<div id="shared_merge_tree_memo_ids_remove_timeout_seconds">
  ## shared\_merge\_tree\_memo\_ids\_remove\_timeout\_seconds
</div>

<SettingsInfoBlock type="Int64" default_value="1800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1800"},{"label": "Синхронизация с Cloud"}]}]} />

Как долго хранятся идентификаторы мемоизации вставки, чтобы избежать некорректных действий при
повторных попытках вставки. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_merge_coordinator_election_check_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_election\_check\_period\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="30000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "30000"},{"label": "новая настройка"}]}]} />

Время между запусками потока выбора координатора слияния

<div id="shared_merge_tree_merge_coordinator_factor">
  ## shared\_merge\_tree\_merge\_coordinator\_factor
</div>

<SettingsInfoBlock type="Float" default_value="1.1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1.100000023841858"},{"label": "Новая настройка"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "1.100000023841858"},{"label": "Уменьшено время сна координатора после нагрузки"}]}]} />

Коэффициент изменения задержки потока координатора

<div id="shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_fetch\_fresh\_metadata\_period\_ms
</div>

<SettingsInfoBlock type="миллисекунда" default_value="10000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "10000"},{"label": "новая настройка"}]}]} />

Как часто координатор слияния должен синхронизироваться с ZooKeeper, чтобы получать актуальные метаданные

<div id="shared_merge_tree_merge_coordinator_max_merge_request_size">
  ## shared\_merge\_tree\_merge\_coordinator\_max\_merge\_request\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "20"},{"label": "новая настройка"}]}]} />

Количество слияний, которые coordinator может одновременно запрашивать у MergerMutator

<div id="shared_merge_tree_merge_coordinator_max_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_max\_period\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="10000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "10000"},{"label": "Новая настройка"}]}]} />

Максимальный интервал между запусками потока координатора слияний

<div id="shared_merge_tree_merge_coordinator_merges_prepare_count">
  ## shared\_merge\_tree\_merge\_coordinator\_merges\_prepare\_count
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "auto"},{"label": "Установить для настройки значение auto: максимальное количество задач слияния на реплику * количество активных реплик"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "100"},{"label": "Новая настройка"}]}]} />

Количество записей о слияниях, которые координатор должен подготовить и распределить между воркерами.
Если установлено значение 'auto', оно равно максимальному количеству задач слияния, разрешённых для одной реплики, умноженному на количество активных реплик.

<div id="shared_merge_tree_merge_coordinator_min_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_min\_period\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "новая настройка"}]}]} />

Минимальный интервал между запусками потока координатора слияний

<div id="shared_merge_tree_merge_worker_fast_timeout_ms">
  ## shared\_merge\_tree\_merge\_worker\_fast\_timeout\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="100" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "100"},{"label": "новая настройка"}]}]} />

Тайм-аут, который использует рабочий поток слияния, если после немедленного действия необходимо обновить его состояние

<div id="shared_merge_tree_merge_worker_regular_timeout_ms">
  ## shared\_merge\_tree\_merge\_worker\_regular\_timeout\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="10000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "10000"},{"label": "новая настройка"}]}]} />

Интервал времени между запусками рабочего потока слияния

<div id="shared_merge_tree_outdated_parts_group_size">
  ## shared\_merge\_tree\_outdated\_parts\_group\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "2"},{"label": "новая настройка"}]}]} />

Сколько реплик будет входить в одну и ту же группу rendezvous hash при очистке устаревших частей.
Доступно только в ClickHouse Cloud.

<div id="shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations">
  ## shared\_merge\_tree\_partitions\_hint\_ratio\_to\_reload\_merge\_pred\_for\_mutations
</div>

<SettingsInfoBlock type="Float" default_value="0.5" />

Повторно загружает предикат слияния в задаче выбора merge/mutate, когда отношение `<candidate
partitions for mutations only (partitions that cannot be merged)>/<candidate
partitions for mutations>` превышает значение этого параметра. Доступно только
в ClickHouse Cloud

<div id="shared_merge_tree_parts_load_batch_size">
  ## shared\_merge\_tree\_parts\_load\_batch\_size
</div>

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

Количество задач на получение метаданных частей, планируемых одновременно. Доступно только в
ClickHouse Cloud

<div id="shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms">
  ## shared\_merge\_tree\_postpone\_next\_merge\_for\_locally\_merged\_parts\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Синхронизация с Cloud"}]}]} />

Время, в течение которого локально слитая часть хранится без запуска нового слияния, включающего
эту часть. Это дает другим репликам возможность получить эту часть и начать это слияние.
Доступно только в ClickHouse Cloud.

<div id="shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold">
  ## shared\_merge\_tree\_postpone\_next\_merge\_for\_locally\_merged\_parts\_rows\_threshold
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000000"},{"label": "Синхронизация с Cloud"}]}]} />

Минимальный размер части (в строках), начиная с которого назначение следующего слияния откладывается сразу после её локального слияния. Доступно только в ClickHouse Cloud.

<div id="shared_merge_tree_range_for_merge_window_size">
  ## shared\_merge\_tree\_range\_for\_merge\_window\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Синхронизация с Cloud"}]}]} />

Время, в течение которого локально слитая часть хранится без запуска нового слияния, включающего
эту часть. Это дает другим репликам возможность получить эту часть и начать это слияние.
Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_read_virtual_parts_from_leader">
  ## shared\_merge\_tree\_read\_virtual\_parts\_from\_leader
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Синхронизация с Cloud"}]}]} />

Читать виртуальные части с лидера, когда это возможно. Доступно только в ClickHouse
Cloud

<div id="shared_merge_tree_replica_set_max_lifetime_seconds">
  ## shared\_merge\_tree\_replica\_set\_max\_lifetime\_seconds
</div>

<SettingsInfoBlock type="секунда" default_value="1800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1800"},{"label": "Увеличен интервал фонового обновления набора реплик по умолчанию до 30 минут"}]}, {"id": "row-2","items": [{"label": "26.2"},{"label": "300"},{"label": "новая настройка"}]}]} />

Как часто реплики пытаются обновлять набор реплик в фоновом режиме. Момент следующего запуска
равномерно выбирается случайным образом в диапазоне \[0, value] секунд. Исключение: value = 0 не подпадает под это правило;
в реализации используется минимальное значение 200 мс, поэтому момент следующего запуска случайным образом выбирается в диапазоне \[0, 200] мс.

<div id="shared_merge_tree_try_fetch_part_in_memory_data_from_replicas">
  ## shared\_merge\_tree\_try\_fetch\_part\_in\_memory\_data\_from\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Новая настройка для получения данных частей из памяти с других реплик"}]}]} />

Если включено, все реплики пытаются получать данные части, хранящиеся в памяти (например, первичный
ключ, информацию о партиции и т. д.), с других реплик, где они уже есть.

<div id="shared_merge_tree_try_fetch_part_in_memory_data_from_replicas_on_startup">
  ## shared\_merge\_tree\_try\_fetch\_part\_in\_memory\_data\_from\_replicas\_on\_startup
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "новая настройка, которая позволяет SMT при запуске загружать данные частей из реплик вместо S3"}]}]} />

Если настройка включена, все реплики при запуске пытаются получить из других реплик данные частей, хранящиеся в памяти (например, первичный
ключ, информацию о партиции и т. д.), если они там уже есть.

<div id="shared_merge_tree_update_replica_flags_delay_ms">
  ## shared\_merge\_tree\_update\_replica\_flags\_delay\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="30000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "Новая настройка"}]}]} />

Как часто реплика будет пытаться повторно загружать свои флаги по фоновому расписанию.

<div id="shared_merge_tree_use_metadata_hints_cache">
  ## shared\_merge\_tree\_use\_metadata\_hints\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Синхронизация с Cloud"}]}]} />

Включает запрос подсказок кэша FS из кэша в памяти
на других репликах. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_use_outdated_parts_compact_format">
  ## shared\_merge\_tree\_use\_outdated\_parts\_compact\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "1"},{"label": "Устаревшие части v3 включены по умолчанию"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Синхронизация с Cloud"}]}]} />

Использовать компактный формат для устаревших частей: снижает нагрузку на Keeper, улучшает
обработку устаревших частей. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_use_too_many_parts_count_from_virtual_parts">
  ## shared\_merge\_tree\_use\_too\_many\_parts\_count\_from\_virtual\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Синхронизация с Cloud"}]}]} />

Если включено, при подсчете Too many parts будут использоваться общие данные в Keeper, а не
локальное состояние реплики. Доступно только в ClickHouse Cloud

<div id="shared_merge_tree_use_zookeeper_connection_pool">
  ## shared\_merge\_tree\_use\_zookeeper\_connection\_pool
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "новая настройка"}]}]} />

Если настройка включена, SharedMergeTree использует один из сеансов ZooKeeper из серверного пула.

<div id="shared_merge_tree_virtual_parts_discovery_batch">
  ## shared\_merge\_tree\_virtual\_parts\_discovery\_batch
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Новая настройка"}]}]} />

Сколько операций обнаружения партиций упаковывать в батч

<div id="simultaneous_parts_removal_limit">
  ## simultaneous\_parts\_removal\_limit
</div>

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

Если устаревших частей много, поток очистки попытается удалить до
`simultaneous_parts_removal_limit` частей за одну итерацию.
Значение `simultaneous_parts_removal_limit`, равное `0`, означает, что ограничений нет.

<div id="sleep_before_commit_local_part_in_replicated_table_ms">
  ## sleep\_before\_commit\_local\_part\_in\_replicated\_table\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="0" />

Для тестирования. Не изменяйте.

<div id="sleep_before_loading_outdated_parts_ms">
  ## sleep\_before\_loading\_outdated\_parts\_ms
</div>

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

Для тестирования. Не изменяйте.

<div id="storage_policy">
  ## storage\_policy
</div>

<SettingsInfoBlock type="String" default_value="default" />

Имя политики для дисков хранилища

<div id="string_serialization_version">
  ## string\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeStringSerializationVersion" default_value="with_size_stream" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "with_size_stream"},{"label": "Переход на новый формат с отдельными размерами"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "single_stream"},{"label": "новая настройка"}]}]} />

Управляет форматом сериализации для столбцов `String` верхнего уровня.

Этот параметр действует только если `serialization_info_version` установлено в значение "with\_types".
Если задано значение `with_size_stream`, столбцы `String` верхнего уровня сериализуются с отдельным
подстолбцом `.size`, в котором хранятся длины строк, а не в общем потоке. Это позволяет использовать реальные
подстолбцы `.size` и может повысить эффективность сжатия.

Вложенные типы `String` (например, внутри `Nullable`, `LowCardinality`, `Array` или `Map`)
не затрагиваются, кроме случаев, когда они встречаются в `Tuple`.

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

* `single_stream` — Использовать стандартный формат сериализации со встроенными размерами.
* `with_size_stream` — Использовать отдельный поток размеров для столбцов `String` верхнего уровня.

<div id="table_disk">
  ## table\_disk
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "новая настройка"}]}]} />

Это disk таблицы: путь/конечная точка должны указывать на данные таблицы, а не на
данные базы данных. Можно задать только для s3\_plain/s3\_plain\_rewritable/web.

<div id="table_readonly">
  ## table\_readonly
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Новая настройка для перевода таблицы в режим только для чтения, запрещающий вставку и изменения"}]}]} />

Если установлено значение true, таблица переводится в режим только для чтения. Любые попытки вставить данные или изменить таблицу завершатся ошибкой.

<div id="temporary_directories_lifetime">
  ## temporary\_directories\_lifetime
</div>

<SettingsInfoBlock type="секунда" default_value="86400" />

Сколько секунд хранить tmp\_-каталоги. Не следует уменьшать это значение,
поскольку при низком значении этой настройки слияния и мутации могут не
выполняться.

<div id="text_index_dictionary_block_frontcoding_compression">
  ## text\_index\_dictionary\_block\_frontcoding\_compression
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "Новая настройка"}]}]} />

Сжатие front-coding по умолчанию для блоков словаря текстового индекса.
Может быть переопределено явно заданным аргументом индекса `dictionary_block_frontcoding_compression`.

<div id="text_index_dictionary_block_size">
  ## text\_index\_dictionary\_block\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "512"},{"label": "новая настройка"}]}]} />

Размер блока словаря по умолчанию для текстовых индексов.
Может быть переопределён явным аргументом индекса `dictionary_block_size`.

<div id="text_index_posting_list_block_size">
  ## text\_index\_posting\_list\_block\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1048576"},{"label": "новая настройка"}]}]} />

Размер блока списка вхождений по умолчанию для текстовых индексов (в строках).
Может быть переопределён явным аргументом индекса `posting_list_block_size`.

<div id="text_index_posting_list_codec">
  ## text\_index\_posting\_list\_codec
</div>

<SettingsInfoBlock type="TextIndexPostingListCodec" default_value="none" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "none"},{"label": "новая настройка"}]}]} />

Кодек списка вхождений по умолчанию для текстовых индексов.
Его можно переопределить, явно указав аргумент индекса `posting_list_codec`.

<div id="try_fetch_recompressed_part_timeout">
  ## try\_fetch\_recompressed\_part\_timeout
</div>

<SettingsInfoBlock type="Seconds" default_value="7200" />

Тайм-аут (в секундах) перед началом merge с повторным сжатием. В течение
этого времени ClickHouse пытается получить часть, сжатую повторно, с реплики, которой назначен
этот merge с повторным сжатием.

Повторное сжатие в большинстве случаев выполняется медленно, поэтому до истечения
этого тайм-аута merge с повторным сжатием не запускается, а ClickHouse пытается получить
часть, сжатую повторно, с реплики, которой назначен этот merge с повторным сжатием.

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

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

<div id="ttl_only_drop_parts">
  ## ttl\_only\_drop\_parts
</div>

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

Определяет, будут ли части данных в таблицах MergeTree полностью удаляться, когда все
строки в этой части истекли в соответствии с настройками `TTL`.

Когда `ttl_only_drop_parts` выключен (по умолчанию), удаляются только строки,
срок действия которых истек в соответствии с настройками `TTL`.

Когда `ttl_only_drop_parts` включен, удаляется вся часть, если все
строки в этой части истекли в соответствии с настройками `TTL`.

<div id="use_adaptive_write_buffer_for_dynamic_subcolumns">
  ## use\_adaptive\_write\_buffer\_for\_dynamic\_subcolumns
</div>

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

Разрешает использовать адаптивные буферы записи при записи динамических подстолбцов для
снижения использования памяти

<div id="use_async_block_ids_cache">
  ## use\_async\_block\_ids\_cache
</div>

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

Если `true`, кэшируются хеш-суммы асинхронных вставок.

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

* `true`
* `false`

Блок, содержащий несколько асинхронных вставок, создаёт несколько хеш-сумм.
Если некоторые из вставок дублируются, Keeper вернёт только одну
дублирующуюся хеш-сумму за один RPC-вызов, что приведёт к лишним повторным RPC-вызовам.
Этот кэш отслеживает путь хеш-сумм в Keeper. При обнаружении обновлений
в Keeper кэш обновляется как можно быстрее, чтобы можно было
отфильтровывать дублирующиеся вставки в памяти.

<div id="use_compact_variant_discriminators_serialization">
  ## use\_compact\_variant\_discriminators\_serialization
</div>

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

Включает компактный режим бинарной сериализации дискриминаторов для типа
данных Variant.
Этот режим позволяет значительно сократить расход памяти на хранение дискриминаторов
в частях, когда в основном используется один вариант или имеется много значений NULL.

<div id="use_const_adaptive_granularity">
  ## use\_const\_adaptive\_granularity
</div>

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

Всегда использовать постоянную гранулярность для всей части. Это позволяет сжимать в памяти значения гранулярности индекса. Может быть полезно при очень больших рабочих нагрузках с узкими таблицами.

<div id="use_metadata_cache">
  ## use\_metadata\_cache
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="use_minimalistic_checksums_in_zookeeper">
  ## use\_minimalistic\_checksums\_in\_zookeeper
</div>

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

Использовать компактный формат (десятки байт) для контрольных сумм частей в ZooKeeper вместо
обычного (десятки КБ). Перед включением проверьте, что все реплики поддерживают
новый формат.

<div id="use_minimalistic_part_header_in_zookeeper">
  ## use\_minimalistic\_part\_header\_in\_zookeeper
</div>

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

Способ хранения заголовков частей данных в ZooKeeper. Если включено, ZooKeeper
хранит меньше данных. Подробнее см. [здесь](/ru/reference/settings/server-settings/settings#use_minimalistic_part_header_in_zookeeper).

<div id="use_primary_key_cache">
  ## use\_primary\_key\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "новая настройка"}]}]} />

Использовать кэш для первичного индекса
вместо хранения всех индексов в памяти. Может быть полезно для очень больших таблиц

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

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

Минимальный (приблизительный) размер несжатых данных в байтах в частях, участвующих в слиянии, при котором активируется алгоритм Вертикального слияния.

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

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

Минимальное количество столбцов, не входящих в PK, при котором активируется алгоритм Вертикального слияния.

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

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

Минимальная (приблизительная) сумма строк в
объединяемых частях для активации алгоритма Вертикального слияния.

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

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "1"},{"label": "новая настройка"}]}]} />

Если `true`, при вертикальном слиянии легковесное удаление оптимизируется.

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

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Разрешить алгоритм вертикального слияния для слияний, которым требуется удалять строки с истекшим TTL"}]}]} />

Если значение равно true, удаление строк по TTL оптимизируется при вертикальном слиянии. Вместо принудительного горизонтального слияния
вычисляется фильтр TTL и передаётся алгоритму слияния, который устанавливает флаги пропуска для источников строк.

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

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

Если true, для следующего
столбца при слиянии используется предварительная загрузка данных из удалённой файловой системы

<div id="wait_for_unique_parts_send_before_shutdown_ms">
  ## wait\_for\_unique\_parts\_send\_before\_shutdown\_ms
</div>

<SettingsInfoBlock type="Миллисекунды" default_value="0" />

Перед остановкой таблица будет ждать заданное время, чтобы уникальные части
(существующие только на текущей реплике) были получены другими репликами (`0` означает,
что параметр отключён).

<div id="write_ahead_log_bytes_to_fsync">
  ## write\_ahead\_log\_bytes\_to\_fsync
</div>

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

Устаревшая настройка, не оказывает никакого эффекта.

<div id="write_ahead_log_interval_ms_to_fsync">
  ## write\_ahead\_log\_interval\_ms\_to\_fsync
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="write_ahead_log_max_bytes">
  ## write\_ahead\_log\_max\_bytes
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="write_final_mark">
  ## write\_final\_mark
</div>

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

Устаревшая настройка, не имеет эффекта.

<div id="write_marks_for_substreams_in_compact_parts">
  ## write\_marks\_for\_substreams\_in\_compact\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "По умолчанию включает запись меток для подпотоков в компактных частях"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "0"},{"label": "новая настройка"}]}]} />

Включает запись меток для каждого подпотока вместо каждой столбца в компактных частях.
Это позволяет эффективно читать отдельные подстолбцы из части данных.

Например, столбец `t Tuple(a String, b UInt32, c Array(Nullable(UInt32)))` сериализуется в следующие подпотоки:

* `t.a` — для данных String элемента кортежа `a`
* `t.b` — для данных UInt32 элемента кортежа `b`
* `t.c.size0` — для размеров массива элемента кортежа `c`
* `t.c.null` — для null-карты вложенных элементов массива элемента кортежа `c`
* `t.c` — для данных UInt32 вложенных элементов массива элемента кортежа `c`

Когда эта настройка включена, для каждого из этих 5 подпотоков записывается отдельная метка, а это значит, что при необходимости мы сможем читать
данные каждого отдельного подпотока из гранулы по отдельности. Например, если мы хотим прочитать подстолбец `t.c`, то будем читать только данные
подпотоков `t.c.size0`, `t.c.null` и `t.c` и не будем читать данные из подпотоков `t.a` и `t.b`. Когда эта настройка выключена,
записывается только одна метка для столбца верхнего уровня `t`, а это значит, что мы всегда будем читать все данные столбца из гранулы, даже если нам нужны данные только некоторых подпотоков.

<div id="zero_copy_concurrent_part_removal_max_postpone_ratio">
  ## zero\_copy\_concurrent\_part\_removal\_max\_postpone\_ratio
</div>

<SettingsInfoBlock type="Float" default_value="0.05" />

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

<div id="zero_copy_concurrent_part_removal_max_split_times">
  ## zero\_copy\_concurrent\_part\_removal\_max\_split\_times
</div>

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

Максимальная глубина рекурсии при разбиении диапазонов независимых
устаревших частей на более мелкие поддиапазоны. Не рекомендуется изменять.

<div id="zero_copy_merge_mutation_min_parts_size_sleep_before_lock">
  ## zero\_copy\_merge\_mutation\_min\_parts\_size\_sleep\_before\_lock
</div>

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

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

<div id="zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock">
  ## zero\_copy\_merge\_mutation\_min\_parts\_size\_sleep\_no\_scale\_before\_lock
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "новая настройка"}]}]} />

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

<div id="zookeeper_session_expiration_check_period">
  ## zookeeper\_session\_expiration\_check\_period
</div>

<SettingsInfoBlock type="Секунды" default_value="60" />

Период проверки истечения срока действия сеанса ZooKeeper, в секундах.

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

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