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

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

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

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Версия", "Значение по умолчанию", "Комментарий"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        История версий
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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

export const ExperimentalBadge = () => {
  return <a href="/ru/reference/settings/beta-and-experimental-features#experimental-features" 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>
            Экспериментальная возможность
        </a>;
};

Эти настройки доступны в [system.settings](/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" />

Использовать асинхронное и, возможно, многопоточное выполнение запроса 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" />

Использует компактный формат для хранения блоков при фоновой (`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" />

Учитывать управление параллелизмом на сервере (см. глобальные настройки сервера `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" />

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

Если ключ партиционирования используется в фильтре вместе со столбцами первичного ключа или индекса пропуска данных, анализ индексов может отдельно сворачивать значение партиции в пределах каждой части. Это особенно полезно для дизъюнктивных фильтров, ветви которых относятся к разным партициям. Например, при `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" />

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

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

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

Включает логику 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" />

Когда настройка включена, ClickHouse обнаруживает секционирование в стиле Hive в пути (`/name=value/`) в табличных движках [File](/ru/reference/functions/table-functions/file#hive-style-partitioning)/[S3](/ru/reference/functions/table-functions/s3#hive-style-partitioning)/[URL](/ru/reference/functions/table-functions/url#hive-style-partitioning)/[HDFS](/ru/reference/functions/table-functions/hdfs#hive-style-partitioning)/[AzureBlobStorage](/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" />

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

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

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

Если настройка включена, можно использовать устаревшую функцию `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" />

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<ExperimentalBadge />

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

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

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

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

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

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

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

При загрузке 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" />

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

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

* Минимальные пороги (побитовое И): достигнуты оба значения — 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" />

Использовать структуру таблицы назначения вместо автоматического определения схемы по данным. Возможные значения: 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](/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" />

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