> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройки сеанса use_*

> Настройки сеанса ClickHouse в автоматически созданной группе use_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

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/docs/beta-and-experimental-features#experimental-features">Подробнее.</a></u>
        </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="use_async_executor_for_materialized_views">
  ## use\_async\_executor\_for\_materialized\_views
</div>

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

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

Использовать асинхронное и, возможно, многопоточное выполнение запроса materialized view; это может ускорить обработку materialized view при INSERT, но также может увеличить потребление памяти.

<div id="use_cache_for_count_from_files">
  ## use\_cache\_for\_count\_from\_files
</div>

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

Включает кэширование количества строк при подсчете строк в файлах с помощью табличных функций `file`/`s3`/`url`/`hdfs`/`azureBlobStorage`.

Включено по умолчанию.

<div id="use_client_time_zone">
  ## use\_client\_time\_zone
</div>

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

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

<div id="use_compact_format_in_distributed_parts_names">
  ## use\_compact\_format\_in\_distributed\_parts\_names
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.1"},{"label": "1"},{"label": "По умолчанию использовать компактный формат для асинхронной INSERT в таблицы Distributed"}]}]} />

Использует компактный формат для хранения блоков при фоновой (`distributed_foreground_insert`) INSERT в таблицы с движком `Distributed`.

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

* 0 — Использует формат каталога `user[:password]@host:port#default_database`.
* 1 — Использует формат каталога `[shard{shard_index}[_replica{replica_index}]]`.

<Note>
  - при `use_compact_format_in_distributed_parts_names=0` изменения в определении кластера не будут применяться для фоновой INSERT.
  - при `use_compact_format_in_distributed_parts_names=1` изменение порядка узлов в определении кластера изменит `shard_index`/`replica_index`, поэтому учитывайте это.
</Note>

<div id="use_concurrency_control">
  ## use\_concurrency\_control
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "1"},{"label": "Управление параллелизмом включено по умолчанию"}]}]} />

Учитывать управление параллелизмом на сервере (см. глобальные настройки сервера `concurrent_threads_soft_limit_num` и `concurrent_threads_soft_limit_ratio_to_cores`). Если отключено, позволяет использовать больше потоков, даже если сервер перегружен (не рекомендуется для обычной работы и в основном требуется для тестов).

<div id="use_constant_folding_in_index_analysis">
  ## use\_constant\_folding\_in\_index\_analysis
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Новая настройка: подстановка констант уровня партиции в предикат фильтра для каждой части при анализе индексов MergeTree, что улучшает отсечение данных для фильтров, ветви которых зависят от значений партиции."}]}]} />

Подставляет константы уровня партиции в предикат фильтра при анализе первичного ключа и индекса пропуска данных для каждой части.

Если ключ партиционирования используется в фильтре вместе со столбцами первичного ключа или индекса пропуска данных, анализ индексов может отдельно сворачивать значение партиции в пределах каждой части. Это особенно полезно для дизъюнктивных фильтров, ветви которых относятся к разным партициям. Например, при `PARTITION BY a` и `ORDER BY b`:

```sql theme={null}
SELECT * FROM t WHERE (a = 1 AND b >= 1) OR (a = 2 AND b > 10) OR (a = 3 AND b > 10)
```

Для части в партиции `a = 1` условие упрощается до `b >= 1`, а для партиций `a = 2` и `a = 3` — до `b > 10`, поэтому каждая часть анализируется с предикатом, который действительно к ней применим.

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

* 0 — Отключено.
* 1 — Включено.

<div id="use_hash_table_stats_for_join_reordering">
  ## use\_hash\_table\_stats\_for\_join\_reordering
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "Новая настройка. Ранее повторяла настройку 'collect_hash_table_stats_during_joins'."}]}]} />

Включает использование собранной статистики хеш-таблиц для оценки мощности при переупорядочивании JOIN

<div id="use_hedged_requests">
  ## use\_hedged\_requests
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "21.9"},{"label": "1"},{"label": "По умолчанию включает возможность Hedged Requests"}]}]} />

Включает логику hedged requests для удалённых запросов. Позволяет устанавливать для одного запроса несколько соединений с разными репликами.
Новое соединение создаётся, если существующее соединение с репликой не было установлено в течение `hedged_connection_timeout`
или если в течение `receive_data_timeout` не были получены данные. Запрос использует первое соединение, которое отправит непустой пакет Прогресс (или пакет данные, если `allow_changing_replica_until_first_data_packet`);
остальные соединения отменяются. Поддерживаются запросы с `max_parallel_replicas > 1`.

Включено по умолчанию.

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

<div id="use_hive_partitioning">
  ## use\_hive\_partitioning
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Настройка включена по умолчанию."}]}, {"id": "row-2","items": [{"label": "24.8"},{"label": "0"},{"label": "Позволяет использовать секционирование в стиле Hive для движков File, URL, S3, AzureBlobStorage и HDFS."}]}]} />

Когда настройка включена, ClickHouse обнаруживает секционирование в стиле Hive в пути (`/name=value/`) в табличных движках [File](/docs/ru/reference/functions/table-functions/file#hive-style-partitioning)/[S3](/docs/ru/reference/functions/table-functions/s3#hive-style-partitioning)/[URL](/docs/ru/reference/functions/table-functions/url#hive-style-partitioning)/[HDFS](/docs/ru/reference/functions/table-functions/hdfs#hive-style-partitioning)/[AzureBlobStorage](/docs/ru/reference/functions/table-functions/azureBlobStorage#hive-style-partitioning) и позволяет использовать столбцы партиции в запросе как виртуальные столбцы. Эти виртуальные столбцы будут иметь те же имена, что и в секционированном пути, но с префиксом `_`.

<div id="use_join_disjunctions_push_down">
  ## use\_join\_disjunctions\_push\_down
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "Эта оптимизация включена."}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Новая настройка"}]}]} />

Включает перенос на соответствующие стороны входных данных частей условий JOIN, объединённых через OR ("частичный pushdown").
Это позволяет движкам хранения данных фильтровать данные на более раннем этапе, что может сократить объём читаемых данных.
Оптимизация не меняет семантику и применяется только тогда, когда каждая OR-ветвь верхнего уровня содержит хотя бы один детерминированный
предикат для целевой стороны.

<div id="use_legacy_to_time">
  ## use\_legacy\_to\_time
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "По умолчанию использует новую функцию `toTime` (преобразует значения в тип данных `Time`) вместо устаревшей функции `toTime` (которая по-прежнему доступна как `toTimeWithFixedDate`)."}]}, {"id": "row-2","items": [{"label": "25.6"},{"label": "1"},{"label": "Новая настройка. Позволяет пользователю использовать старую логику функции `toTime`, которая работает как `toTimeWithFixedDate`."}]}]} />

Если настройка включена, можно использовать устаревшую функцию `toTime`, которая преобразует дату и время в определённую фиксированную дату, сохраняя время.
В противном случае используется новая функция `toTime`, которая преобразует данные различных типов в тип `Time`.
Старая функция также всегда доступна как `toTimeWithFixedDate`.

<div id="use_lightweight_primary_key_index_analysis">
  ## use\_lightweight\_primary\_key\_index\_analysis
</div>

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

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

Оптимизирует анализ индекса первичного ключа для таблиц `MergeTree` с длинным первичным ключом.

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

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

* 0 — Отключено. При анализе индекса обрабатываются все столбцы первичного ключа.
* 1 — Включено.

<div id="use_parquet_metadata_cache">
  ## use\_parquet\_metadata\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Включает кэш метаданных файлов Parquet."}]}]} />

Если параметр включен, формат Parquet может использовать кэш метаданных Parquet.

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

* 0 - Отключено
* 1 - Включено

<div id="use_primary_key">
  ## use\_primary\_key
</div>

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

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

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

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

* 0 — Отключено.
* 1 — Включено.

<div id="use_reader_executor">
  ## use\_reader\_executor
</div>

<ExperimentalBadge />

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

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

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

<div id="use_roaring_bitmap_iceberg_positional_deletes">
  ## use\_roaring\_bitmap\_iceberg\_positional\_deletes
</div>

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

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

Использовать roaring-битмап для позиционных удалений в Iceberg.

<div id="use_streaming_marks_compression">
  ## use\_streaming\_marks\_compression
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Новая настройка для сжатия marks во внутреннее представление в памяти по одному блоку за раз (стриминг) вместо материализации полного обычного массива marks, что снижает пиковое потребление памяти при загрузке marks для компактных частей с большим количеством substreams."}]}]} />

При загрузке marks для частей MergeTree сжимайте их во внутреннее представление в памяти по одному блоку за раз (стриминг) вместо того, чтобы сначала материализовать полный обычный массив marks. Это значительно снижает пиковое использование памяти при загрузке marks для компактных частей с большим количеством substreams (например, для таблиц с JSON-столбцами и включенной настройкой write\_marks\_for\_substreams\_in\_compact\_parts).

<div id="use_strict_insert_block_limits">
  ## use\_strict\_insert\_block\_limits
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Новая настройка для строгого применения минимальных и максимальных границ блока при вставках. Когда min < max, приоритет имеют максимальные ограничения."}]}]} />

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

Блок формируется, когда:

* Минимальные пороги (побитовое И): достигнуты оба значения — min\_insert\_block\_size\_rows и min\_insert\_block\_size\_bytes.
* Максимальные пороги (OR): достигнуто либо max\_insert\_block\_size\_rows, либо max\_insert\_block\_size\_bytes.

Если отключено, блок формируется, когда:

* Минимальные пороги (OR): достигнуто min\_insert\_block\_size\_rows или min\_insert\_block\_size\_bytes.

**Note**: Если максимальные настройки меньше минимальных, приоритет имеют максимальные ограничения, и блоки будут формироваться до достижения минимальных порогов.

**Note**: Эта настройка автоматически отключается для async inserts, поскольку async inserts добавляют токены дедупликации для каждой записи, что несовместимо с разбиением блоков, необходимым для соблюдения строгих ограничений.

По умолчанию отключено.

<div id="use_structure_from_insertion_table_in_table_functions">
  ## use\_structure\_from\_insertion\_table\_in\_table\_functions
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.11"},{"label": "2"},{"label": "Улучшено использование структуры таблицы назначения в табличных функциях"}]}]} />

Использовать структуру таблицы назначения вместо автоматического определения схемы по данным. Возможные значения: 0 — отключено, 1 — включено, 2 — автоматически

<div id="use_uncompressed_cache">
  ## use\_uncompressed\_cache
</div>

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

Определяет, использовать ли кэш несжатых данных. Допустимые значения: 0 или 1. По умолчанию — 0 (отключено).
Использование кэша несжатых данных (только для таблиц семейства MergeTree) может значительно снизить задержку и повысить пропускную способность при работе с большим количеством коротких запросов. Включайте этот параметр для пользователей, которые часто отправляют короткие запросы. Также обратите внимание на параметр конфигурации [uncompressed\_cache\_size](/docs/ru/reference/settings/server-settings/settings#uncompressed_cache_size) (задается только в файле конфигурации) — размер блоков кэша несжатых данных. По умолчанию он составляет 8 GiB. Кэш несжатых данных заполняется по мере необходимости, а наименее используемые данные удаляются автоматически.

Для запросов, которые считывают хотя бы относительно большой объем данных (один миллион строк или более), кэш несжатых данных отключается автоматически, чтобы освободить место для действительно небольших запросов. Это означает, что параметр 'use\_uncompressed\_cache' можно всегда оставлять равным 1.

<div id="use_with_fill_by_sorting_prefix">
  ## use\_with\_fill\_by\_sorting\_prefix
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.5"},{"label": "1"},{"label": "Столбцы, расположенные перед столбцами WITH FILL в предложении ORDER BY, образуют префикс сортировки. Строки с разными значениями префикса сортировки заполняются независимо"}]}]} />

Столбцы, расположенные перед столбцами WITH FILL в предложении ORDER BY, образуют префикс сортировки. Строки с разными значениями префикса сортировки заполняются независимо
