use_async_executor_for_materialized_views
Использовать асинхронное и, возможно, многопоточное выполнение запроса materialized view; это может ускорить обработку materialized view при INSERT, но также может увеличить потребление памяти.use_cache_for_count_from_files
Включает кэширование количества строк при подсчете строк в файлах с помощью табличных функцийfile/s3/url/hdfs/azureBlobStorage.
Включено по умолчанию.
use_client_time_zone
Использовать часовой пояс клиента для интерпретации строковых значений DateTime вместо часового пояса сервера.use_columns_cache
Определяет, использовать ли кэш столбцов. Принимает значения 0 или 1. По умолчанию — 0 (отключено). Кэш столбцов хранит десериализованные столбцы из таблиц семействаMergeTree, что избавляет от повторной декомпрессии и десериализации «горячих» данных. Это может значительно снизить задержку повторяющихся запросов к одним и тем же данным. Ключ кэша состоит из UUID таблицы, имени части данных, имени столбца и полосы (stripe) — последовательности гранул объёмом около 65536 строк.
Поскольку в ключ записи входит UUID таблицы, кэш работает только для таблиц в базах данных, назначающих UUID, таких как Atomic, Replicated и Shared (движок баз данных по умолчанию в ClickHouse Cloud); таблицы семейства MergeTree в устаревших базах данных Ordinary имеют нулевой UUID и молча игнорируют эту настройку.
В настоящее время кэш применяется только к частям Wide: данные компактных частей не читаются из кэша столбцов и не записываются в него, поэтому ускорится ли чтение, зависит от формата части.
Запись содержит непрерывный диапазон гранул одной полосы. Гранула попадает в кэш только после того, как она прочитана целиком — от первой до последней строки; чтение из кэша выполняется погранульно, а диапазоны, записанные разными операциями чтения, сливаются. Благодаря этому операции чтения, разбивающие часть на разные диапазоны меток, используют одни и те же записи.
use_concurrency_control
Учитывать управление параллелизмом на сервере (см. глобальные настройки сервераconcurrent_threads_soft_limit_num и concurrent_threads_soft_limit_ratio_to_cores). Если отключено, позволяет использовать больше потоков, даже если сервер перегружен (не рекомендуется для обычной работы и в основном требуется для тестов).
use_constant_folding_in_index_analysis
Подставляет константы уровня партиции в предикат фильтра при анализе первичного ключа и индекса пропуска данных для каждой части. Если ключ партиционирования используется в фильтре вместе со столбцами первичного ключа или индекса пропуска данных, анализ индексов может отдельно сворачивать значение партиции в пределах каждой части. Это особенно полезно для дизъюнктивных фильтров, ветви которых относятся к разным партициям. Например, приPARTITION BY a и ORDER BY b:
a = 1 условие упрощается до b >= 1, а для партиций a = 2 и a = 3 — до b > 10, поэтому каждая часть анализируется с предикатом, который действительно к ней применим.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
use_hash_table_stats_for_join_reordering
Включает использование собранной статистики хеш-таблиц для оценки мощности при переупорядочивании JOINuse_hedged_requests
Включает логику hedged requests для удалённых запросов. Позволяет устанавливать для одного запроса несколько соединений с разными репликами. Новое соединение создаётся, если существующее соединение с репликой не было установлено в течениеhedged_connection_timeout
или если в течение receive_data_timeout не были получены данные. Запрос использует первое соединение, которое отправит непустой пакет Прогресс (или пакет данные, если allow_changing_replica_until_first_data_packet);
остальные соединения отменяются. Поддерживаются запросы с max_parallel_replicas > 1.
Включено по умолчанию.
Значение по умолчанию в Cloud: 0.
use_hive_partitioning
Когда настройка включена, ClickHouse обнаруживает секционирование в стиле Hive в пути (/name=value/) в табличных движках File/S3/URL/HDFS/AzureBlobStorage и позволяет использовать столбцы партиции в запросе как виртуальные столбцы. Эти виртуальные столбцы будут иметь те же имена, что и в секционированном пути, но с префиксом _.
use_indexes_refiner_in_read_pools
Применяет индексы, вычисляемые при чтении данных, непосредственно внутри пулов чтения MergeTree: диапазоны меток, полностью отфильтрованные индексами пропуска данных (см.use_skip_indexes_on_data_read) или индексом проекции (см. optimize_use_projection_filtering), отбрасываются до создания задач чтения, а не пропускаются гранула за гранулой в процессе чтения.
В пуле чтения с предварительным чтением отброшенные диапазоны никогда не подвергаются предварительному чтению, однако границы задач и допуск предварительного чтения через filesystem_prefetch_max_memory_usage / filesystem_prefetches_limit по-прежнему определяются до фильтрации. Поэтому при высокоселективных фильтрах оставшиеся задачи могут оказаться меньше заданного размера, а допуск — излишне консервативным.
use_join_disjunctions_push_down
Включает перенос на соответствующие стороны входных данных частей условий JOIN, объединённых через OR (“частичный pushdown”). Это позволяет движкам хранения данных фильтровать данные на более раннем этапе, что может сократить объём читаемых данных. Оптимизация не меняет семантику и применяется только тогда, когда каждая OR-ветвь верхнего уровня содержит хотя бы один детерминированный предикат для целевой стороны.use_legacy_to_time
Если настройка включена, имяtoTime обозначает устаревшую функцию toTime,
которая преобразует дату и время в определённую фиксированную дату, сохраняя время.
В противном случае это имя обозначает новую функцию toTime,
которая преобразует значения различных типов в тип Time.
Устаревшая функция также всегда доступна как toTimeWithFixedDate независимо от этой настройки.
Когда эта настройка включена, используйте CAST(x AS Time) или x::Time для преобразования в тип Time.
use_lightweight_primary_key_index_analysis
Оптимизирует анализ индекса первичного ключа для таблицMergeTree с длинным первичным ключом.
Если настройка включена, время выполнения анализа индекса в основном зависит от сложности фильтра запроса (то есть от столбцов ключа, которые он фактически использует), а не от длины первичного ключа. Поэтому расширение ключа сортировки почти не добавляет накладных расходов при анализе индекса для запросов, которые фильтруют только по нескольким его столбцам.
Возможные значения:
- 0 — Отключено. При анализе индекса обрабатываются все столбцы первичного ключа.
- 1 — Включено.
use_parquet_metadata_cache
Если параметр включен, формат Parquet может использовать кэш метаданных Parquet. Возможные значения:- 0 - Отключено
- 1 - Включено
use_primary_key
Использовать первичный ключ для отсечения гранул при выполнении запроса в таблицах MergeTree. Возможные значения:- 0 — Отключено.
- 1 — Включено.
use_reader_executor
Экспериментально. Маршрутизирует чтение через новый конвейерReaderExecutor вместо устаревшей матрёшки буферов чтения. Для конфигураций, которые исполнитель пока не поддерживает, используется устаревший путь.
use_roaring_bitmap_iceberg_positional_deletes
Использовать roaring-битмап для позиционных удалений в Iceberg.use_streaming_marks_compression
При загрузке marks для частей MergeTree сжимайте их во внутреннее представление в памяти по одному блоку за раз (стриминг) вместо того, чтобы сначала материализовать полный обычный массив marks. Это значительно снижает пиковое использование памяти при загрузке marks для компактных частей с большим количеством substreams (например, для таблиц с JSON-столбцами и включенной настройкой write_marks_for_substreams_in_compact_parts).use_strict_insert_block_limits
Если включено, строго применяются и минимальные, и максимальные ограничения на размер блока вставки. Блок формируется, когда:- Минимальные пороги (побитовое И): достигнуты оба значения — 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.