Настройки сессии
Все настройки, приведенные ниже, также доступны в таблице system.settings. Эти настройки сгенерированы автоматически из source.
add_http_cors_header
Тип: Bool
Значение по умолчанию: 0
Добавить HTTP CORS заголовок.
additional_result_filter
Тип: String
Значение по умолчанию:
Дополнительное выражение фильтра для применения к результату запроса SELECT
.
Эта настройка не применяется к никакому подзапросу.
Пример
additional_table_filters
Тип: Map
Значение по умолчанию:
Дополнительное выражение фильтра, которое применяется после чтения из указанной таблицы.
Пример
aggregate_functions_null_for_empty
Тип: Bool
Значение по умолчанию: 0
Включает или отключает переписывание всех агрегатных функций в запросе, добавляя суффикс -OrNull к ним. Включите это для совместимости с SQL стандартом. Это реализуется через переписывание запросов (аналогично настройке count_distinct_implementation), чтобы получить последовательные результаты для распределенных запросов.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Пример
Рассмотрим следующий запрос с агрегатными функциями:
При aggregate_functions_null_for_empty = 0
он даст:
При aggregate_functions_null_for_empty = 1
результат будет:
aggregation_in_order_max_block_bytes
Тип: UInt64
Значение по умолчанию: 50000000
Максимальный размер блока в байтах, аккумулируемого во время агрегации в порядке первичного ключа. Более низкий размер блока позволяет параллелить более финальный этап объединения агрегации.
aggregation_memory_efficient_merge_threads
Тип: UInt64
Значение по умолчанию: 0
Количество потоков, используемых для объединения промежуточных результатов агрегации в режиме экономии памяти. Более высокое значение означает, что потребляется больше памяти. 0 означает — то же самое, что и ‘max_threads’.
allow_aggregate_partitions_independently
Тип: Bool
Значение по умолчанию: 0
Включает независимую агрегацию партиций на отдельных потоках, когда ключ партиции подходит для ключа группировки. Полезно, когда количество партиций близко к количеству ядер и парции примерно одного размера.
allow_archive_path_syntax
Тип: Bool
Значение по умолчанию: 1
Файловые/S3 движки/функции таблицы будут анализировать пути с '::' как <archive> :: <file>\
, если у архива правильное расширение.
allow_asynchronous_read_from_io_pool_for_merge_tree
Тип: Bool
Значение по умолчанию: 0
Использовать фоновый I/O пул для чтения из таблиц MergeTree. Эта настройка может увеличить производительность для зависимых от ввода-вывода запросов.
allow_changing_replica_until_first_data_packet
Тип: Bool
Значение по умолчанию: 0
Если это включено, в застрахованных запросах мы можем начать новое соединение до получения первого пакета данных, даже если мы уже сделали некоторые успехи
(но успех не обновился на таймаут receive_data_timeout
), в противном случае мы отключаем изменение реплики после первого числа, когда мы сделали прогресс.
allow_create_index_without_type
Тип: Bool
Значение по умолчанию: 0
Разрешить запрос CREATE INDEX без TYPE. Запрос будет проигнорирован. Сделано для тестов совместимости с SQL.
allow_custom_error_code_in_throwif
Тип: Bool
Значение по умолчанию: 0
Включить пользовательский код ошибки в функции throwIf(). Если true, выброшенные исключения могут иметь неожиданные коды ошибок.
allow_ddl
Тип: Bool
Значение по умолчанию: 1
Если это значение установлено в true, то пользователю разрешено выполнять DDL запросы.
allow_deprecated_database_ordinary
Тип: Bool
Значение по умолчанию: 0
Разрешить создание баз данных с устаревшим обычным движком.
allow_deprecated_error_prone_window_functions
Тип: Bool
Значение по умолчанию: 0
Разрешить использование устаревших функций окон, подверженных ошибкам (neighbor, runningAccumulate, runningDifferenceStartingWithFirstValue, runningDifference).
allow_deprecated_snowflake_conversion_functions
Тип: Bool
Значение по умолчанию: 0
Функции snowflakeToDateTime
, snowflakeToDateTime64
, dateTimeToSnowflake
и dateTime64ToSnowflake
устарели и по умолчанию отключены.
Пожалуйста, используйте функции snowflakeIDToDateTime
, snowflakeIDToDateTime64
, dateTimeToSnowflakeID
и dateTime64ToSnowflakeID
вместо.
Чтобы повторно включить устаревшие функции (например, в период перехода), пожалуйста, установите эту настройку в true
.
allow_deprecated_syntax_for_merge_tree
Тип: Bool
Значение по умолчанию: 0
Разрешить создание *MergeTree таблиц с устаревшим синтаксисом определения двигателя.
allow_distributed_ddl
Тип: Bool
Значение по умолчанию: 1
Если это значение установлено в true, то пользователю разрешено выполнять распределенные DDL запросы.
allow_drop_detached
Тип: Bool
Значение по умолчанию: 0
Разрешить запросы ALTER TABLE ... DROP DETACHED PART[ITION] ...
allow_execute_multiif_columnar
Тип: Bool
Значение по умолчанию: 1
Разрешить выполнение функции multiIf в колоночном формате.
allow_experimental_analyzer
Тип: Bool
Значение по умолчанию: 1
Разрешить новый анализатор запросов.
allow_experimental_codecs
Тип: Bool
Значение по умолчанию: 0
Если это значение установлено в true, разрешить задавать экспериментальные кодеки сжатия (но у нас их еще нет, и эта опция ничего не делает).
allow_experimental_database_iceberg
Тип: Bool
Значение по умолчанию: 0
Разрешить экспериментальный движок базы данных Iceberg.
allow_experimental_database_materialized_postgresql
Тип: Bool
Значение по умолчанию: 0
Разрешить создание базы данных с Engine=MaterializedPostgreSQL(...).
allow_experimental_dynamic_type
Тип: Bool
Значение по умолчанию: 0
Разрешает создание типа данных Dynamic.
allow_experimental_full_text_index
Тип: Bool
Значение по умолчанию: 0
Если это значение установлено в true, разрешить использование экспериментального полнотекстового индекса.
allow_experimental_funnel_functions
Тип: Bool
Значение по умолчанию: 0
Включить экспериментальные функции для анализа воронки.
allow_experimental_hash_functions
Тип: Bool
Значение по умолчанию: 0
Включить экспериментальные хеш-функции.
allow_experimental_inverted_index
Тип: Bool
Значение по умолчанию: 0
Если это значение установлено в true, разрешить использование экспериментального инвертированного индекса.
allow_experimental_join_condition
Тип: Bool
Значение по умолчанию: 0
Поддержка соединений с неравенством, которые включают колонки из обеих таблиц. например, t1.y < t2.y
.
allow_experimental_join_right_table_sorting
Тип: Bool
Значение по умолчанию: 0
Если это значение установлено в true и выполнены условия join_to_sort_minimum_perkey_rows
и join_to_sort_maximum_table_rows
, переставьте правую таблицу по ключу для улучшения производительности в левых или внутренних хеш-соединениях.
allow_experimental_json_type
Тип: Bool
Значение по умолчанию: 0
Разрешает создание типа данных JSON.
allow_experimental_kafka_offsets_storage_in_keeper
Тип: Bool
Значение по умолчанию: 0
Разрешить экспериментальную функцию хранения связанных с Kafka смещений в ClickHouse Keeper. Когда включено, путь ClickHouse Keeper и имя реплики могут быть указаны для движка таблицы Kafka. В результате вместо обычного движка Kafka будет использоваться новый тип движка хранения, который в первую очередь хранит зафиксированные смещения в ClickHouse Keeper.
allow_experimental_kusto_dialect
Тип: Bool
Значение по умолчанию: 0
Включить язык запросов Kusto (KQL) - альтернативу SQL.
allow_experimental_live_view
Тип: Bool
Значение по умолчанию: 0
Разрешает создание устаревшего LIVE VIEW.
Возможные значения:
- 0 — Работы с живыми представлениями отключены.
- 1 — Работы с живыми представлениями включены.
allow_experimental_materialized_postgresql_table
Тип: Bool
Значение по умолчанию: 0
Разрешает использовать движок MaterializedPostgreSQL таблицы. Отключено по умолчанию, поскольку эта функция является экспериментальной.
allow_experimental_nlp_functions
Тип: Bool
Значение по умолчанию: 0
Включить экспериментальные функции для обработки естественного языка.
allow_experimental_object_type
Тип: Bool
Значение по умолчанию: 0
Разрешить устаревший тип данных Object.
allow_experimental_parallel_reading_from_replicas
Тип: UInt64
Значение по умолчанию: 0
Используйте до max_parallel_replicas
количество реплик из каждого шарда для выполнения запроса SELECT. Чтение параллелится и координируется динамически. 0 - отключено, 1 - включено, тихо отключает в случае неудачи, 2 - включено, выбрасывает исключение в случае неудачи.
allow_experimental_prql_dialect
Тип: Bool
Значение по умолчанию: 0
Включить PRQL - альтернативу SQL.
allow_experimental_query_deduplication
Тип: Bool
Значение по умолчанию: 0
Экспериментальная дедупликация данных для запросов SELECT на основе UUID частей.
allow_experimental_shared_set_join
Тип: Bool
Значение по умолчанию: 0
Действует только в ClickHouse Cloud. Позволяет создавать ShareSet и SharedJoin.
allow_experimental_statistics
Тип: Bool
Значение по умолчанию: 0
Разрешает определять колонки с статистикой и управлять статистикой.
allow_experimental_time_series_table
Тип: Bool
Значение по умолчанию: 0
Разрешает создание таблиц с движком таблицы TimeSeries.
Возможные значения:
- 0 — движок таблицы TimeSeries отключен.
- 1 — движок таблицы TimeSeries включен.
allow_experimental_ts_to_grid_aggregate_function
Тип: Bool
Значение по умолчанию: 0
Экспериментальная агрегатная функция tsToGrid для повторного дискретизирования временных рядов в стиле Prometheus. Только для Cloud.
allow_experimental_variant_type
Тип: Bool
Значение по умолчанию: 0
Разрешает создание типа данных Variant.
allow_experimental_vector_similarity_index
Тип: Bool
Значение по умолчанию: 0
Разрешить экспериментальный индекс сходства векторов.
allow_experimental_window_view
Тип: Bool
Значение по умолчанию: 0
Включить WINDOW VIEW. Не достаточно зрелый.
allow_general_join_planning
Тип: Bool
Значение по умолчанию: 1
Позволяет более общий алгоритм планирования соединений, который может обрабатывать более сложные условия, но работает только с хеш-соединениями. Если хеш-соединение не включено, то используется обычный алгоритм планирования соединений, независимо от значения этой настройки.
allow_get_client_http_header
Тип: Bool
Значение по умолчанию: 0
Разрешить использовать функцию getClientHTTPHeader
, которая позволяет получить значение заголовка текущего HTTP запроса. По умолчанию она не включена по соображениям безопасности, так как некоторые заголовки, такие как Cookie
, могут содержать чувствительную информацию. Обратите внимание, что заголовки X-ClickHouse-*
и Authentication
всегда ограничены и не могут быть получены с помощью этой функции.
allow_hyperscan
Тип: Bool
Значение по умолчанию: 1
Разрешить функции, которые используют библиотеку Hyperscan. Отключите, чтобы избежать потенциально долгого времени компиляции и чрезмерного использования ресурсов.
allow_introspection_functions
Тип: Bool
Значение по умолчанию: 0
Включает или отключает функции интуиции для профилирования запросов.
Возможные значения:
- 1 — Функции интуиции включены.
- 0 — Функции интуиции отключены.
См. также
- Профилировщик запросов с выборкой
- Системная таблица trace_log
allow_materialized_view_with_bad_select
Тип: Bool
Значение по умолчанию: 1
Разрешить CREATE MATERIALIZED VIEW с запросом SELECT, который ссылается на несуществующие таблицы или колонки. Он по-прежнему должен быть синтаксически валиден. Не применяется к обновляемым MV. Не применяется, если схему MV необходимо вывести из запроса SELECT (т.е. если CREATE не имеет списка колонок и не имеет таблицы TO). Может использоваться для создания MV до источника его таблицы.
allow_named_collection_override_by_default
Тип: Bool
Значение по умолчанию: 1
Разрешить переопределение полей именованных коллекций по умолчанию.
allow_non_metadata_alters
Тип: Bool
Значение по умолчанию: 1
Разрешить выполнение изменений, которые затрагивают не только метаданные таблицы, но и данные на диске.
allow_nonconst_timezone_arguments
Тип: Bool
Значение по умолчанию: 0
Разрешить неконстантные аргументы часового пояса в некоторых функциях, связанных со временем, таких как toTimeZone(), fromUnixTimestamp*(), snowflakeToDateTime*().
allow_nondeterministic_mutations
Тип: Bool
Значение по умолчанию: 0
Настройка на уровне пользователя, которая позволяет мутациям в реплицированных таблицах использовать недетерминированные функции, такие как dictGet
.
Учитывая, что, например, словари могут не синхронизироваться между узлами, изменение значений из них по умолчанию не допускается в реплицированных таблицах. Включение этой настройки позволяет это сделать, делая ответственность пользователя обеспечить, чтобы данные, используемые, синхронизированы на всех узлах.
Пример
allow_nondeterministic_optimize_skip_unused_shards
Тип: Bool
Значение по умолчанию: 0
Разрешить недетерминированные (например, rand
или dictGet
, поскольку последняя имеет некоторые нюансы с обновлениями) функции в ключе шардирования.
Возможные значения:
- 0 — Запрещено.
- 1 — Разрешено.
allow_not_comparable_types_in_comparison_functions
Тип: Bool
Значение по умолчанию: 0
Разрешает или ограничивает использование несравнимых типов (таких как JSON/Object/AggregateFunction) в функциях сравнения equal/less/greater/etc
.
allow_not_comparable_types_in_order_by
Тип: Bool
Значение по умолчанию: 0
Разрешает или ограничивает использование несравнимых типов (таких как JSON/Object/AggregateFunction) в ключах ORDER BY.
allow_prefetched_read_pool_for_local_filesystem
Тип: Bool
Значение по умолчанию: 0
Предпочитать поток предварительной выборки, если все части находятся на локальной файловой системе.
allow_prefetched_read_pool_for_remote_filesystem
Тип: Bool
Значение по умолчанию: 1
Предпочитать поток предварительной выборки, если все части находятся на удаленной файловой системе.
allow_push_predicate_ast_for_distributed_subqueries
Тип: Bool
Значение по умолчанию: 1
Разрешить пропуск предиката на уровне AST для распределенных подзапросов с включенным анализатором.
allow_push_predicate_when_subquery_contains_with
Тип: Bool
Значение по умолчанию: 1
Разрешить пропуск предиката, когда подзапрос содержит WITH клаузу.
allow_reorder_prewhere_conditions
Тип: Bool
Значение по умолчанию: 1
При перемещении условий из WHERE в PREWHERE разрешить их переупорядочение для оптимизации фильтрации.
allow_settings_after_format_in_insert
Тип: Bool
Значение по умолчанию: 0
Контролировать, разрешены ли SETTINGS
после FORMAT
в запросах INSERT
. Использовать это не рекомендуется, так как это может интерпретировать часть SETTINGS
как значения.
Пример:
Но следующий запрос будет работать только с allow_settings_after_format_in_insert
:
Возможные значения:
- 0 — Запретить.
- 1 — Разрешить.
Используйте эту настройку только для обратной совместимости, если ваши случаи использования зависят от старого синтаксиса.
allow_simdjson
Тип: Bool
Значение по умолчанию: 1
Разрешить использование библиотеки simdjson в функциях 'JSON*', если доступны инструкции AVX2. Если отключено, будет использоваться rapidjson.
allow_statistics_optimize
Тип: Bool
Значение по умолчанию: 0
Разрешает использование статистики для оптимизации запросов.
allow_suspicious_codecs
Тип: Bool
Значение по умолчанию: 0
Если это значение установлено в true, разрешить задавать бессмысленные кодеки сжатия.
allow_suspicious_fixed_string_types
Тип: Bool
Значение по умолчанию: 0
В операторе CREATE TABLE разрешает создание колонок типа FixedString(n) с n > 256. FixedString с длиной >= 256 подозрителен и скорее всего указывает на неправильное использование.
allow_suspicious_indices
Тип: Bool
Значение по умолчанию: 0
Отклонить первичные/вторичные индексы и ключи сортировки с идентичными выражениями.
allow_suspicious_low_cardinality_types
Тип: Bool
Значение по умолчанию: 0
Разрешает или ограничивает использование LowCardinality с типами данных фиксированного размера 8 байт или меньше: числовые типы данных и FixedString(8_bytes_or_less)
.
Для небольших фиксированных значений использование LowCardinality
обычно неэффективно, так как ClickHouse хранит числовой индекс для каждой строки. В результате:
- Использование дискового пространства может возрасти.
- Потребление ОЗУ может быть выше, в зависимости от размера словаря.
- Некоторые функции могут работать медленнее из-за дополнительных операций кодирования/декодирования.
Время слияния в таблицах с двигателем MergeTree может увеличиться по всем причинам, указанным выше.
Возможные значения:
- 1 — Использование
LowCardinality
не ограничено. - 0 — Использование
LowCardinality
ограничено.
allow_suspicious_primary_key
Тип: Bool
Значение по умолчанию: 0
Разрешить подозрительный PRIMARY KEY
/ORDER BY
для MergeTree (т.е. SimpleAggregateFunction).
allow_suspicious_ttl_expressions
Тип: Bool
Значение по умолчанию: 0
Отклонить выражения TTL, которые не зависят от каких-либо колонок таблицы. Это указывает на ошибку пользователя большинство времени.
allow_suspicious_types_in_group_by
Тип: Bool
Значение по умолчанию: 0
Разрешает или ограничивает использование Variant и Dynamic типов в ключах GROUP BY.
allow_suspicious_types_in_order_by
Тип: Bool
Значение по умолчанию: 0
Разрешает или ограничивает использование Variant и Dynamic типов в ключах ORDER BY.
allow_suspicious_variant_types
Тип: Bool
Значение по умолчанию: 0
В операторе CREATE TABLE разрешает указать тип Variant с похожими типами вариантов (например, с различными числовыми или датированными типами). Включение этой настройки может привести к некоторой неоднозначности при работе со значениями с похожими типами.
allow_unrestricted_reads_from_keeper
Тип: Bool
Значение по умолчанию: 0
Разрешить неограниченные (без условий на путь) чтения из системной таблицы zookeeper, может быть удобно, но не безопасно для zookeeper.
alter_move_to_space_execute_async
Тип: Bool
Значение по умолчанию: 0
Асинхронно выполнять ALTER TABLE MOVE ... TO [DISK|VOLUME].
alter_partition_verbose_result
Тип: Bool
Значение по умолчанию: 0
Включает или отключает отображение информации о частях, к которым успешно применены операции манипуляции с партициями и частями. Применимо к ATTACH PARTITION|PART и к FREEZE PARTITION.
Возможные значения:
- 0 — отключить многосложность.
- 1 — включить многосложность.
Пример
alter_sync
Тип: UInt64
Значение по умолчанию: 1
Разрешает установить ожидание для выполнения действий на репликах с помощью запросов ALTER, OPTIMIZE или TRUNCATE.
Возможные значения:
- 0 — Не ждать.
- 1 — Ждать собственного выполнения.
- 2 — Ждать всех.
Значение по умолчанию в Cloud: 0
.
alter_sync
применим только к Replicated
таблицам, он не делает ничего для изменений не Replicated
таблиц.
analyze_index_with_space_filling_curves
Тип: Bool
Значение по умолчанию: 1
Если таблица содержит кривую заполнения пространства в своем индексе, например, ORDER BY mortonEncode(x, y)
или ORDER BY hilbertEncode(x, y)
, и запрос имеет условия по его аргументам, например, x >= 10 AND x <= 20 AND y >= 20 AND y <= 30
, используйте кривую заполнения пространства для анализа индекса.
analyzer_compatibility_join_using_top_level_identifier
Тип: Bool
Значение по умолчанию: 0
Принудительно разрешить идентификатор в JOIN USING из проекции (например, в SELECT a + 1 AS b FROM t1 JOIN t2 USING (b)
соединение будет осуществляться по t1.a + 1 = t2.b
, а не t1.b = t2.b
).
any_join_distinct_right_table_keys
Тип: Bool
Значение по умолчанию: 0
Включает наследуемое поведение сервера ClickHouse в операциях ANY INNER|LEFT JOIN
.
Используйте эту настройку только для обратной совместимости, если ваши сценарии использования зависят от старого поведения JOIN
.
Когда старое поведение включено:
- Результаты операций
t1 ANY LEFT JOIN t2
иt2 ANY RIGHT JOIN t1
не равны, потому что ClickHouse использует логику с сопоставлением ключей таблицы с множественным соответствием слева направо. - Результаты операций
ANY INNER JOIN
содержат все строки из левой таблицы, как и операцииSEMI LEFT JOIN
.
Когда старое поведение отключено:
- Результаты операций
t1 ANY LEFT JOIN t2
иt2 ANY RIGHT JOIN t1
равны, потому что ClickHouse использует логику, которая обеспечивает сопоставление ключей с одним среднем количеством в операцияхANY RIGHT JOIN
. - Результаты операций
ANY INNER JOIN
содержат одну строку на ключ из обеих левых и правых таблиц.
Возможные значения:
- 0 — Старое поведение отключено.
- 1 — Старое поведение включено.
См. также:
apply_deleted_mask
Тип: Bool
Значение по умолчанию: 1
Включает фильтрацию строк, удаленных с помощью легкого DELETE. Если отключено, запрос сможет читать эти строки. Это полезно для отладки и сценариев "восстановления".
apply_mutations_on_fly
Тип: Bool
Значение по умолчанию: 0
Если true, мутации (UPDATE и DELETE), которые не материализованы в части данных, будут применены на SELECT-запросах.
apply_settings_from_server
Тип: Bool
Значение по умолчанию: 1
Должен ли клиент принимать настройки от сервера.
Это влияет только на операции, выполняемые на стороне клиента, в частности, на парсинг входных данных вставки и форматирование результата запроса. Большая часть выполнения запроса происходит на сервере и не затрагивается этой настройкой.
Обычно эту настройку следует задавать в профиле пользователя (users.xml или запросы, такие как ALTER USER
), а не через клиент (аргументы командной строки клиента, запрос SET
или раздел SETTINGS
запроса SELECT
). Через клиент ее можно изменить на false, но нельзя изменить на true (потому что сервер не отправляет настройки, если в профиле пользователя установлено apply_settings_from_server = false
).
Обратите внимание, что изначально (24.12) была серверная настройка (send_settings_to_client
), но позже она была заменена этой клиентской настройкой для большей удобства.
asterisk_include_alias_columns
Тип: Bool
Значение по умолчанию: 0
Включить ALIAS колонок для выборки по шаблону (SELECT *
).
Возможные значения:
- 0 - отключено
- 1 - включено
asterisk_include_materialized_columns
Тип: Bool
Значение по умолчанию: 0
Включить MATERIALIZED колонки для выборки по шаблону (SELECT *
).
Возможные значения:
- 0 - отключено
- 1 - включено
async_insert
Тип: Bool
Значение по умолчанию: 0
Если true, данные из запроса INSERT хранятся в очереди и позже сбрасываются в таблицу в фоновом режиме. Если wait_for_async_insert = false, запрос INSERT обрабатывается почти мгновенно, в противном случае клиент будет ждать, пока данные не будут сброшены в таблицу.
async_insert_busy_timeout_decrease_rate
Тип: Double
Значение по умолчанию: 0.2
Экспоненциальная скорость роста, с которой адаптивный тайм-аут асинхронной вставки уменьшается.
async_insert_busy_timeout_increase_rate
Тип: Double
Значение по умолчанию: 0.2
Экспоненциальная скорость роста, с которой адаптивный тайм-аут асинхронной вставки увеличивается.
async_insert_busy_timeout_max_ms
Тип: Миллисекунды
Значение по умолчанию: 200
Максимальное время ожидания перед сбросом собранных данных по запросу с момента появления первых данных.
async_insert_busy_timeout_min_ms
Тип: Миллисекунды
Значение по умолчанию: 50
Если включена автоматическая настройка через async_insert_use_adaptive_busy_timeout, минимальное время ожидания перед сбросом собранных данных по запросу с момента появления первых данных. Также служит начальными значениями для адаптивного алгоритма.
async_insert_deduplicate
Тип: Bool
Значение по умолчанию: 0
Для асинхронных запросов INSERT в реплицируемой таблице указывает, что должна быть выполнена дедупликация вставляемых блоков.
async_insert_max_data_size
Тип: UInt64
Значение по умолчанию: 10485760
Максимальный размер в байтах непарсенных данных, собранных по запросу, перед вставкой.
async_insert_max_query_number
Тип: UInt64
Значение по умолчанию: 450
Максимальное количество запросов вставки перед вставкой.
async_insert_poll_timeout_ms
Тип: Миллисекунды
Значение по умолчанию: 10
Тайм-аут для опроса данных из очереди асинхронных вставок.
async_insert_use_adaptive_busy_timeout
Тип: Bool
Значение по умолчанию: 1
Если установлено в true, используйте адаптивный тайм-аут загрузки для асинхронных вставок.
async_query_sending_for_remote
Тип: Bool
Значение по умолчанию: 1
Включает создание асинхронного соединения и отправку запросов во время выполнения удаленного запроса.
Включено по умолчанию.
async_socket_for_remote
Тип: Bool
Значение по умолчанию: 1
Включает асинхронное чтение из сокета во время выполнения удаленного запроса.
Включено по умолчанию.
azure_allow_parallel_part_upload
Тип: Bool
Значение по умолчанию: 1
Используйте несколько потоков для параллельной загрузки частей в Azure.
azure_check_objects_after_upload
Тип: Bool
Значение по умолчанию: 0
Проверяйте каждый загруженный объект в Azure Blob Storage, чтобы убедиться, что загрузка завершилась успешно.
azure_create_new_file_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает создание нового файла при каждой вставке в таблицы Azure Engine.
azure_ignore_file_doesnt_exist
Тип: Bool
Значение по умолчанию: 0
Игнорировать отсутствие файла, если он не существует при чтении определенных ключей.
Возможные значения:
- 1 —
SELECT
возвращает пустой результат. - 0 —
SELECT
выдает исключение.
azure_list_object_keys_size
Тип: UInt64
Значение по умолчанию: 1000
Максимальное количество файлов, которые могут быть возвращены в пакетном запросе ListObject.
azure_max_blocks_in_multipart_upload
Тип: UInt64
Значение по умолчанию: 50000
Максимальное количество блоков в многократной загрузке для Azure.
azure_max_inflight_parts_for_one_file
Тип: UInt64
Значение по умолчанию: 20
Максимальное количество одновременно загружаемых частей в запросе многократной загрузки. 0 означает безлимитно.
azure_max_single_part_copy_size
Тип: UInt64
Значение по умолчанию: 268435456
Максимальный размер объекта для копирования с использованием однопартной копии в Azure Blob Storage.
azure_max_single_part_upload_size
Тип: UInt64
Значение по умолчанию: 104857600
Максимальный размер объекта для загрузки с использованием однопартной загрузки в Azure Blob Storage.
azure_max_single_read_retries
Тип: UInt64
Значение по умолчанию: 4
Максимальное количество попыток чтения из Azure Blob Storage.
azure_max_unexpected_write_error_retries
Тип: UInt64
Значение по умолчанию: 4
Максимальное количество попыток в случае неожиданных ошибок во время записи в Azure Blob Storage.
azure_max_upload_part_size
Тип: UInt64
Значение по умолчанию: 5368709120
Максимальный размер части, загружаемой во время многократной загрузки в Azure Blob Storage.
azure_min_upload_part_size
Тип: UInt64
Значение по умолчанию: 16777216
Минимальный размер части для загрузки во время многократной загрузки в Azure Blob Storage.
azure_sdk_max_retries
Тип: UInt64
Значение по умолчанию: 10
Максимальное количество попыток в Azure SDK.
azure_sdk_retry_initial_backoff_ms
Тип: UInt64
Значение по умолчанию: 10
Минимальный интервал между попытками в Azure SDK.
azure_sdk_retry_max_backoff_ms
Тип: UInt64
Значение по умолчанию: 1000
Максимальный интервал между попытками в Azure SDK.
azure_skip_empty_files
Тип: Bool
Значение по умолчанию: 0
Включает или отключает пропуск пустых файлов в S3 Engine.
Возможные значения:
- 0 —
SELECT
выдает исключение, если пустой файл несовместим с запрашиваемым форматом. - 1 —
SELECT
возвращает пустой результат для пустого файла.
azure_strict_upload_part_size
Тип: UInt64
Значение по умолчанию: 0
Точный размер части для загрузки во время многократной загрузки в Azure Blob Storage.
azure_throw_on_zero_files_match
Тип: Bool
Значение по умолчанию: 0
Выбросить ошибку, если совпадает ноль файлов в соответствии с правилами расширения glob.
Возможные значения:
- 1 —
SELECT
выдает исключение. - 0 —
SELECT
возвращает пустой результат.
azure_truncate_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает обрезку перед вставкой в таблицы Azure Engine.
azure_upload_part_size_multiply_factor
Тип: UInt64
Значение по умолчанию: 2
Умножить azure_min_upload_part_size на этот множитель каждый раз, когда от одной записи было загружено azure_multiply_parts_count_threshold частей в Azure Blob Storage.
azure_upload_part_size_multiply_parts_count_threshold
Тип: UInt64
Значение по умолчанию: 500
Каждый раз, когда это количество частей загружается в Azure Blob Storage, azure_min_upload_part_size умножается на azure_upload_part_size_multiply_factor.
backup_restore_batch_size_for_keeper_multi
Тип: UInt64
Значение по умолчанию: 1000
Максимальный размер партии для многократных запросов к [Zoo]Keeper во время резервного копирования или восстановления.
backup_restore_batch_size_for_keeper_multiread
Тип: UInt64
Значение по умолчанию: 10000
Максимальный размер партии для запросов многократного чтения к [Zoo]Keeper во время резервного копирования или восстановления.
backup_restore_failure_after_host_disconnected_for_seconds
Тип: UInt64
Значение по умолчанию: 3600
Если хост во время операции BACKUP ON CLUSTER или RESTORE ON CLUSTER не воссоздаст свой эфемерный узел «alive» в ZooKeeper в течение этого времени, то все резервное копирование или восстановление считается неудачным. Это значение должно быть больше любого разумного времени, необходимого хосту для повторного подключения к ZooKeeper после сбоя. Ноль означает неограниченно.
backup_restore_finish_timeout_after_error_sec
Тип: UInt64
Значение по умолчанию: 180
Сколько времени инициатор должен ждать, чтобы другие хосты отреагировали на узел «ошибка» и прекратили свою работу над текущей операцией BACKUP ON CLUSTER или RESTORE ON CLUSTER.
backup_restore_keeper_fault_injection_probability
Тип: Float
Значение по умолчанию: 0
Приблизительная вероятность сбоя для запроса keeper во время резервного копирования или восстановления. Допустимое значение находится в интервале [0.0f, 1.0f].
backup_restore_keeper_fault_injection_seed
Тип: UInt64
Значение по умолчанию: 0
0 - случайное семя, иначе значение параметра.
backup_restore_keeper_max_retries
Тип: UInt64
Значение по умолчанию: 1000
Максимальное количество попыток для операций [Zoo]Keeper во время выполнения операций BACKUP или RESTORE. Должно быть достаточно большим, чтобы вся операция не завершилась сбоем из-за временного сбоя [Zoo]Keeper.
backup_restore_keeper_max_retries_while_handling_error
Тип: UInt64
Значение по умолчанию: 20
Максимальное количество попыток для операций [Zoo]Keeper во время обработки ошибки операции BACKUP ON CLUSTER или RESTORE ON CLUSTER.
backup_restore_keeper_max_retries_while_initializing
Тип: UInt64
Значение по умолчанию: 20
Максимальное количество попыток для операций [Zoo]Keeper во время инициализации операции BACKUP ON CLUSTER или RESTORE ON CLUSTER.
backup_restore_keeper_retry_initial_backoff_ms
Тип: UInt64
Значение по умолчанию: 100
Начальный тайм-аут отката для операций [Zoo]Keeper во время резервного копирования или восстановления.
backup_restore_keeper_retry_max_backoff_ms
Тип: UInt64
Значение по умолчанию: 5000
Максимальный тайм-аут отката для операций [Zoo]Keeper во время резервного копирования или восстановления.
backup_restore_keeper_value_max_size
Тип: UInt64
Значение по умолчанию: 1048576
Максимальный размер данных узла [Zoo]Keeper во время резервного копирования.
backup_restore_s3_retry_attempts
Тип: UInt64
Значение по умолчанию: 1000
Настройка для Aws::Client::RetryStrategy, Aws::Client выполняет повторные попытки самостоятельно, 0 означает отсутствие повторных попыток. Применяется только для резервного копирования/восстановления.
cache_warmer_threads
Тип: UInt64
Значение по умолчанию: 4
Действует только в ClickHouse Cloud. Количество фоновых потоков для спекулятивной загрузки новых частей данных в файловый кеш, когда cache_populated_by_fetch включен. Ноль для отключения.
calculate_text_stack_trace
Тип: Bool
Значение по умолчанию: 1
Расчет текстового трассировки стека в случае исключений во время выполнения запроса. Это значение по умолчанию. Требует поиска символов, которые могут замедлить тесты на ошибки, когда выполняется большое количество неверных запросов. В нормальных случаях вам не следует отключать эту опцию.
cancel_http_readonly_queries_on_client_close
Тип: Bool
Значение по умолчанию: 0
Отменяет HTTP-запросы только для чтения (например, SELECT), когда клиент закрывает соединение, не дожидаясь ответа.
Значение по умолчанию в Cloud: 1
.
cast_ipv4_ipv6_default_on_conversion_error
Тип: Bool
Значение по умолчанию: 0
Оператор CAST в IPv4, оператор CAST в тип IPV6, функции toIPv4, toIPv6 вернут значение по умолчанию вместо того, чтобы выдавать исключение при ошибке преобразования.
cast_keep_nullable
Тип: Bool
Значение по умолчанию: 0
Включает или отключает сохранение типа данных Nullable
в операциях CAST.
Когда настройка включена, и аргумент функции CAST
является Nullable
, результат также преобразуется в Nullable
тип. Когда настройка отключена, результат всегда имеет точно указанный целевой тип.
Возможные значения:
- 0 — Результат
CAST
имеет точно указанный целевой тип. - 1 — Если аргумент типа
Nullable
, результатCAST
преобразуется вNullable(DestinationDataType)
.
Примеры
Следующий запрос возвращает точный целевой тип данных:
Результат:
Следующий запрос возвращает изменение Nullable
целевого типа данных:
Результат:
Смотрите также
- CAST функция
cast_string_to_dynamic_use_inference
Тип: Bool
Значение по умолчанию: 0
Используйте вывод типов во время преобразования String в Dynamic.
check_query_single_value_result
Тип: Bool
Значение по умолчанию: 1
Определяет уровень детализации для результата запроса CHECK TABLE для семейств движков MergeTree.
Возможные значения:
- 0 — запрос показывает статус проверки для каждой отдельной части данных таблицы.
- 1 — запрос показывает общий статус проверки таблицы.
check_referential_table_dependencies
Тип: Bool
Значение по умолчанию: 0
Проверяет, что DDL-запрос (например, DROP TABLE или RENAME) не нарушит ссылочные зависимости.
check_table_dependencies
Тип: Bool
Значение по умолчанию: 1
Проверяет, что DDL-запрос (например, DROP TABLE или RENAME) не нарушит зависимости.
checksum_on_read
Тип: Bool
Значение по умолчанию: 1
Проверка контрольных сумм при чтении. Это включено по умолчанию и должно всегда быть включено в производстве. Не ожидайте никаких преимуществ от отключения этой настройки. Она может использоваться только для экспериментов и бенчмарков. Настройка применима только к таблицам семейства MergeTree. Контрольные суммы всегда проверяются для других движков таблиц и при получении данных по сети.
cloud_mode
Тип: Bool
Значение по умолчанию: 0
Режим облака.
cloud_mode_database_engine
Тип: UInt64
Значение по умолчанию: 1
Движок базы данных, разрешенный в облаке. 1 - перезаписать DDL на использование реплицируемой базы данных, 2 - перезаписать DDL на использование общей базы данных.
cloud_mode_engine
Тип: UInt64
Значение по умолчанию: 1
Семейство движков, разрешенное в облаке.
- 0 - разрешить все
- 1 - перезаписать DDL на использование *ReplicatedMergeTree
- 2 - перезаписать DDL на использование SharedMergeTree
- 3 - перезаписать DDL на использование SharedMergeTree, за исключением случаев, когда явно указан удаленный диск.
UInt64 для минимизации публичной части.
cluster_for_parallel_replicas
Тип: Строка
Значение по умолчанию:
Кластер для шарда, в котором находится текущий сервер.
collect_hash_table_stats_during_aggregation
Тип: Bool
Значение по умолчанию: 1
Включает сбор статистики хэш-таблиц для оптимизации распределения памяти.
collect_hash_table_stats_during_joins
Тип: Bool
Значение по умолчанию: 1
Включает сбор статистики хэш-таблиц для оптимизации распределения памяти.
compatibility
Тип: Строка
Значение по умолчанию:
Настройка compatibility
заставляет ClickHouse использовать параметры по умолчанию предыдущей версии ClickHouse, при этом предыдущая версия указывается в настройке.
Если настройки установлены на значения, отличные от значений по умолчанию, то эти настройки будут соблюдены (только настройки, которые не были изменены, будут затронуты настройкой compatibility
).
Эта настройка принимает номер версии ClickHouse в виде строки, например 22.3
, 22.8
. Пустое значение означает, что эта настройка отключена.
По умолчанию отключено.
В ClickHouse Cloud настройка совместимости должна быть установлена службой поддержки ClickHouse Cloud. Пожалуйста, откройте запрос для ее установки.
compatibility_ignore_auto_increment_in_create_table
Тип: Bool
Значение по умолчанию: 0
Игнорировать ключевое слово AUTO_INCREMENT в объявлении колонки, если true, в противном случае возвращать ошибку. Упрощает миграцию из MySQL.
compatibility_ignore_collation_in_create_table
Тип: Bool
Значение по умолчанию: 1
Совместимость игнорировать коллейшн при создании таблицы.
compile_aggregate_expressions
Тип: Bool
Значение по умолчанию: 1
Включает или отключает JIT-компиляцию агрегатных функций в нативный код. Включение этой настройки может улучшить производительность.
Возможные значения:
- 0 — Агрегация выполняется без JIT-компиляции.
- 1 — Агрегация выполняется с использованием JIT-компиляции.
Смотрите также
compile_expressions
Тип: Bool
Значение по умолчанию: 0
Компилируйте некоторые скалярные функции и операторы в нативный код. Из-за ошибки в инфраструктуре компилятора LLVM на машинах AArch64 это известно как приводящее к разыменованию nullptr и, следовательно, к сбою сервера. Не включайте эту настройку.
compile_sort_description
Тип: Bool
Значение по умолчанию: 1
Компилируйте описание сортировки в нативный код.
connect_timeout
Тип: Секунды
Значение по умолчанию: 10
Тайм-аут соединения, если нет реплик.
connect_timeout_with_failover_ms
Тип: Миллисекунды
Значение по умолчанию: 1000
Тайм-аут в миллисекундах для подключения к удаленному серверу для движка распределенной таблицы, если в определении кластера используются секции 'shard' и 'replica'. В случае неудачи производится несколько попыток подключения к различным репликам.
connect_timeout_with_failover_secure_ms
Тип: Миллисекунды
Значение по умолчанию: 1000
Тайм-аут соединения для выбора первой здоровой реплики (для безопасных соединений).
connection_pool_max_wait_ms
Тип: Миллисекунды
Значение по умолчанию: 0
Время ожидания в миллисекундах для соединения, когда пул соединений полон.
Возможные значения:
- Положительное целое число.
- 0 — Неограниченный тайм-аут.
connections_with_failover_max_tries
Тип: UInt64
Значение по умолчанию: 3
Максимальное количество попыток подключения к каждой реплике для движка распределенной таблицы.
convert_query_to_cnf
Тип: Bool
Значение по умолчанию: 0
Если установлено в true
, запрос SELECT
будет преобразован в конъюнктивную нормальную форму (CNF). Существуют сценарии, когда переписывание запроса в CNF может выполняться быстрее (посмотрите на этот Github issue для объяснения).
Например, обратите внимание на то, как следующий запрос SELECT
не изменяется (поведение по умолчанию):
Результат:
Давайте установим convert_query_to_cnf
в true
и посмотрим, что изменится:
Обратите внимание, что условие WHERE
переписывается в CNF, но результирующий набор идентичен - логика булевых выражений остается неизменной:
Возможные значения: true, false.
count_distinct_implementation
Тип: Строка
Значение по умолчанию: uniqExact
Указывает, какая из функций uniq*
должна использоваться для выполнения конструкции COUNT(DISTINCT ...).
Возможные значения:
count_distinct_optimization
Тип: Bool
Значение по умолчанию: 0
Переписывать count distinct в подзапрос группировки.
create_if_not_exists
Тип: Bool
Значение по умолчанию: 0
Включить IF NOT EXISTS
для оператора CREATE
по умолчанию. Если либо эта настройка, либо IF NOT EXISTS
указано, и таблица с указанным именем уже существует, исключение не будет выброшено.
create_index_ignore_unique
Тип: Bool
Значение по умолчанию: 0
Игнорировать уникальный ключевое слово в CREATE UNIQUE INDEX. Сделано для тестирования совместимости SQL.
create_replicated_merge_tree_fault_injection_probability
Тип: Float
Значение по умолчанию: 0
Вероятность сбоя во время создания таблицы после создания метаданных в ZooKeeper.
create_table_empty_primary_key_by_default
Тип: Bool
Значение по умолчанию: 0
Разрешить создание таблиц *MergeTree с пустым первичным ключом, когда ORDER BY и PRIMARY KEY не указаны.
cross_join_min_bytes_to_compress
Тип: UInt64
Значение по умолчанию: 1073741824
Минимальный размер блока для сжатия в CROSS JOIN. Нулевое значение означает - отключить этот порог. Этот блок сжимается, когда достигается любой из двух порогов (по строкам или по байтам).
cross_join_min_rows_to_compress
Тип: UInt64
Значение по умолчанию: 10000000
Минимальное количество строк для сжатия блока в CROSS JOIN. Нулевое значение означает - отключить этот порог. Этот блок сжимается, когда достигается любой из двух порогов (по строкам или по байтам).
data_type_default_nullable
Тип: Bool
Значение по умолчанию: 0
Разрешает типам данных без явных модификаторов NULL или NOT NULL в определении колонки быть Nullable.
Возможные значения:
- 1 — Типы данных в определениях колонок по умолчанию устанавливаются как
Nullable
. - 0 — Типы данных в определениях колонок по умолчанию устанавливаются как не
Nullable
.
database_atomic_wait_for_drop_and_detach_synchronously
Тип: Bool
Значение по умолчанию: 0
Добавляет модификатор SYNC
ко всем запросам DROP
и DETACH
.
Возможные значения:
- 0 — Запросы будут выполняться с задержкой.
- 1 — Запросы будут выполняться без задержки.
database_replicated_allow_explicit_uuid
Тип: UInt64
Значение по умолчанию: 0
0 - Не разрешать явным образом указывать UUID для таблиц в реплицируемых базах данных. 1 - Разрешить. 2 - Разрешить, но игнорировать указанный UUID и сгенерировать случайный вместо него.
database_replicated_allow_heavy_create
Тип: Bool
Значение по умолчанию: 0
Разрешить долговременные DDL-запросы (CREATE AS SELECT и POPULATE) в реплицируемом движке базы данных. Учтите, что это может надолго заблокировать DDL-очередь.
database_replicated_allow_only_replicated_engine
Тип: Bool
Значение по умолчанию: 0
Разрешить создание только реплицируемых таблиц в базе данных с движком Replicated.
database_replicated_allow_replicated_engine_arguments
Тип: UInt64
Значение по умолчанию: 0
0 - Не разрешать явно указывать путь в ZooKeeper и имя реплики для таблиц *MergeTree в реплицируемых базах данных. 1 - Разрешить. 2 - Разрешить, но игнорировать указанный путь и использовать значение по умолчанию. 3 - Разрешить и не регистрировать предупреждение.
database_replicated_always_detach_permanently
Тип: Bool
Значение по умолчанию: 0
Выполняйте DETACH TABLE как DETACH TABLE PERMANENTLY, если движок базы данных реплицируемый.
database_replicated_enforce_synchronous_settings
Тип: Bool
Значение по умолчанию: 0
Принуждает синхронное ожидание для некоторых запросов (см. также database_atomic_wait_for_drop_and_detach_synchronously, mutation_sync, alter_sync). Не рекомендуется включать эти настройки.
database_replicated_initial_query_timeout_sec
Тип: UInt64
Значение по умолчанию: 300
Устанавливает, сколько времени начальный DDL-запрос должен ожидать, пока реплицируемая база данных обработает предыдущие элементы очереди DDL в секундах.
Возможные значения:
- Положительное целое число.
- 0 — Неограниченно.
decimal_check_overflow
Тип: Bool
Значение по умолчанию: 1
Проверка переполнения арифметических операций/сравнений для десятичных чисел.
deduplicate_blocks_in_dependent_materialized_views
Тип: Bool
Значение по умолчанию: 0
Включает или отключает проверку дедупликации для материализованных представлений, которые получают данные из реплицируемых * таблиц.
Возможные значения:
0 — Отключено. 1 — Включено.
Использование
По умолчанию дедупликация не выполняется для материализованных представлений, а производится на уровне источника.
Если вставляемый блок был пропущен из-за дедупликации в исходной таблице, то вставка не произойдет в прикрепленные материализованные представления. Это поведение существует, чтобы разрешить вставку сильно агрегированных данных в материализованные представления, в тех случаях, когда вставленные блоки совпадают после агрегации в материализованном представлении, но происходят от разных вставок в исходную таблицу.
В то же время это поведение "ломает" идемпотентность INSERT
. Если вставка в основную таблицу была успешной, а вставка в материализованное представление потерпела неудачу (например, из-за сбоя связи с ClickHouse Keeper), клиент получит ошибку и сможет повторить операцию. Однако материализованное представление не получит вторую вставку, потому что она будет отклонена из-за дедупликации в основной (исходной) таблице. Настройка deduplicate_blocks_in_dependent_materialized_views
позволяет изменить это поведение. При повторной попытке материализованное представление получит повторную вставку и выполнит проверку дедупликации самостоятельно, игнорируя результат проверки для исходной таблицы и вставив строки, которые были утеряны из-за первой неудачи.
default_materialized_view_sql_security
Тип: SQLSecurityType
Значение по умолчанию: DEFINER
Разрешает установить значение по умолчанию для параметра SQL SECURITY при создании материализованного представления. Больше о SQL безопасности.
Значение по умолчанию — DEFINER
.
default_max_bytes_in_join
Тип: UInt64
Значение по умолчанию: 1000000000
Максимальный размер правой таблицы, если требуется ограничение, но max_bytes_in_join не установлен.
default_normal_view_sql_security
Тип: SQLSecurityType
Значение по умолчанию: INVOKER
Разрешает установить параметр SQL SECURITY
по умолчанию при создании обычного представления. Больше о SQL безопасности.
Значение по умолчанию — INVOKER
.
default_table_engine
Тип: DefaultTableEngine
Значение по умолчанию: MergeTree
Двигатель таблицы по умолчанию, который будет использоваться, когда ENGINE
не установлен в операторе CREATE
.
Возможные значения:
- строка, представляющая любое допустимое имя двигателя таблицы.
Значение по умолчанию в Cloud: SharedMergeTree
.
Пример
Запрос:
Результат:
В этом примере любая новая таблица, которая не указывает 'Engine', будет использовать двигатель таблицы 'Log':
Запрос:
Результат:
default_temporary_table_engine
Type: DefaultTableEngine
Default value: Memory
То же, что и default_table_engine, но для временных таблиц.
В этом примере любая новая временная таблица, которая не указывает Engine
, будет использовать механизм таблицы Log
:
Запрос:
Результат:
default_view_definer
Type: String
Default value: CURRENT_USER
Позволяет установить параметр по умолчанию DEFINER
при создании представления. Подробнее о безопасности SQL.
Значение по умолчанию — CURRENT_USER
.
describe_compact_output
Type: Bool
Default value: 0
Если true, включает только имена колонок и типы в результат запроса DESCRIBE.
describe_extend_object_types
Type: Bool
Default value: 0
Определяет конкретный тип колонок типа Object в запросе DESCRIBE.
describe_include_subcolumns
Type: Bool
Default value: 0
Включает описание подколонок для запроса DESCRIBE. Например, члены Tuple или подколонки Map, Nullable или типа данных Array.
Возможные значения:
- 0 — Подколонки не включены в запросы
DESCRIBE
. - 1 — Подколонки включены в запросы
DESCRIBE
.
Пример
Смотрите пример для оператора DESCRIBE.
describe_include_virtual_columns
Type: Bool
Default value: 0
Если true, виртуальные колонки таблицы будут включены в результат запроса DESCRIBE.
dialect
Type: Dialect
Default value: clickhouse
Какой диалект будет использоваться для разбора запроса.
dictionary_validate_primary_key_type
Type: Bool
Default value: 0
Проверять тип первичного ключа для словарей. По умолчанию тип идентификатора для простых макетов будет неявно преобразован в UInt64.
distinct_overflow_mode
Type: OverflowMode
Default value: throw
Что делать, когда превышен лимит.
distributed_aggregation_memory_efficient
Type: Bool
Default value: 1
Включен ли режим экономии памяти для распределенной агрегации.
distributed_background_insert_batch
Type: Bool
Default value: 0
Включает/отключает отправку вставленных данных пакетами.
Когда отправка пакетами включена, механизм таблицы Distributed пытается отправить несколько файлов вставленных данных в одной операции, вместо того чтобы отправлять их по отдельности. Пакетная отправка улучшает производительность кластера за счёт лучшего использования ресурсов сервера и сети.
Возможные значения:
- 1 — Включено.
- 0 — Отключено.
distributed_background_insert_max_sleep_time_ms
Type: Milliseconds
Default value: 30000
Максимальный интервал для механизма таблицы Distributed для отправки данных. Ограничивает экспоненциальный рост интервала, установленного в настройке distributed_background_insert_sleep_time_ms.
Возможные значения:
- Положительное целое число миллисекунд.
distributed_background_insert_sleep_time_ms
Type: Milliseconds
Default value: 100
Базовый интервал для механизма таблицы Distributed для отправки данных. Фактический интервал растёт экспоненциально в случае ошибок.
Возможные значения:
- Положительное целое число миллисекунд.
distributed_background_insert_split_batch_on_failure
Type: Bool
Default value: 0
Включает/отключает разбивку пакетов на ошибки.
Иногда отправка определенного пакета на удаленный шард может завершиться неудачно из-за сложного конвейера после (т.е. MATERIALIZED VIEW
с GROUP BY
) из-за Превышение лимита памяти
или аналогичных ошибок. В этом случае повторная попытка не поможет (и это заблокирует распределенные отправки для таблицы), но отправка файлов из этого пакета один за другим может привести к успешному INSERT.
Таким образом, установка этой настройки в 1
отключит пакетирование для таких пакетов (т.е. временно отключает distributed_background_insert_batch
для неудачных пакетов).
Возможные значения:
- 1 — Включено.
- 0 — Отключено.
Эта настройка также влияет на поврежденные пакеты (которые могут появиться из-за аномального завершения работы сервера (машины) и отсутствия fsync_after_insert
/fsync_directories
для механизма таблицы Distributed).
Не стоит полагаться на автоматическое разбиение пакетов, так как это может ухудшить производительность.
distributed_background_insert_timeout
Type: UInt64
Default value: 0
Тайм-аут для запроса вставки в распределенную таблицу. Настройка используется только с включённой опцией insert_distributed_sync. Значение ноль означает отсутствие тайм-аута.
distributed_cache_bypass_connection_pool
Type: Bool
Default value: 0
Влияет только в ClickHouse Cloud. Позволяет обойти пул соединений распределенного кэша.
distributed_cache_connect_max_tries
Type: UInt64
Default value: 20
Влияет только в ClickHouse Cloud. Количество попыток подключения к распределенному кэшу в случае неудачи.
distributed_cache_data_packet_ack_window
Type: UInt64
Default value: 5
Влияет только в ClickHouse Cloud. Окно для отправки ACK для последовательности DataPacket в одном запросе чтения распределенного кэша.
distributed_cache_discard_connection_if_unread_data
Type: Bool
Default value: 1
Влияет только в ClickHouse Cloud. Отбрасывать соединение, если имеются непрочитанные данные.
distributed_cache_fetch_metrics_only_from_current_az
Type: Bool
Default value: 1
Влияет только в ClickHouse Cloud. Получать метрики только из текущей зоны доступности в system.distributed_cache_metrics, system.distributed_cache_events.
distributed_cache_log_mode
Type: DistributedCacheLogMode
Default value: on_error
Влияет только в ClickHouse Cloud. Режим записи в system.distributed_cache_log.
distributed_cache_max_unacked_inflight_packets
Type: UInt64
Default value: 10
Влияет только в ClickHouse Cloud. Максимальное количество неподтвержденных активных пакетов в одном запросе чтения распределенного кэша.
distributed_cache_min_bytes_for_seek
Type: Bool
Default value: 0
Влияет только в ClickHouse Cloud. Минимальное количество байт для выполнения поиска в распределенном кэше.
distributed_cache_pool_behaviour_on_limit
Type: DistributedCachePoolBehaviourOnLimit
Default value: wait
Влияет только в ClickHouse Cloud. Определяет поведение соединения распределенного кэша при достижении лимита пула.
distributed_cache_read_alignment
Type: UInt64
Default value: 0
Влияет только в ClickHouse Cloud. Настройка для целей тестирования, не изменяйте ее.
distributed_cache_receive_response_wait_milliseconds
Type: UInt64
Default value: 60000
Влияет только в ClickHouse Cloud. Время ожидания в миллисекундах для получения данных по запросу из распределенного кэша.
distributed_cache_receive_timeout_milliseconds
Type: UInt64
Default value: 10000
Влияет только в ClickHouse Cloud. Время ожидания в миллисекундах для получения любого вида ответа от распределенного кэша.
distributed_cache_throw_on_error
Type: Bool
Default value: 0
Влияет только в ClickHouse Cloud. Повторное выбрасывание исключения, произошедшего во время общения с распределенным кэшем или полученного от распределенного кэша. В противном случае возвращается к пропуску распределенного кэша в случае ошибки.
distributed_cache_wait_connection_from_pool_milliseconds
Type: UInt64
Default value: 100
Влияет только в ClickHouse Cloud. Время ожидания в миллисекундах для получения соединения из пула соединений, если distributed_cache_pool_behaviour_on_limit равно wait.
distributed_connections_pool_size
Type: UInt64
Default value: 1024
Максимальное количество одновременных соединений с удалёнными серверами для распределенной обработки всех запросов к одной распределенной таблице. Рекомендуется устанавливать значение не менее количества серверов в кластере.
distributed_ddl_entry_format_version
Type: UInt64
Default value: 5
Версия совместимости распределённых DDL (ON CLUSTER) запросов.
distributed_ddl_output_mode
Type: DistributedDDLOutputMode
Default value: throw
Устанавливает формат результата распределённого DDL запроса.
Возможные значения:
throw
— Возвращает набор результатов с состоянием выполнения запроса для всех хостов, где запрос завершён. Если запрос завершился с ошибкой на некоторых хостах, будет выброшено первое исключение. Если запрос ещё не завершён на некоторых хостах, и истёк distributed_ddl_task_timeout, будет выброшено исключениеTIMEOUT_EXCEEDED
.none
— Похоже на throw, но распределённый DDL запрос не возвращает набор результатов.null_status_on_timeout
— ВозвращаетNULL
в качестве состояния выполнения в некоторых строках результирующего набора вместо выбросаTIMEOUT_EXCEEDED
, если запрос не завершён на соответствующих хостах.never_throw
— Не выбрасыватьTIMEOUT_EXCEEDED
и не повторно выбрасывать исключения, если запрос завершился с ошибкой на некоторых хостах.none_only_active
— похоже наnone
, но не ждёт неактивные репликиReplicated
базы данных. Примечание: с этим режимом невозможно выяснить, что запрос не был выполнен на какой-либо реплике и будет выполнен в фоновом режиме.null_status_on_timeout_only_active
— похоже наnull_status_on_timeout
, но не ждёт неактивные репликиReplicated
базы данных.throw_only_active
— похоже наthrow
, но не ждёт неактивные репликиReplicated
базы данных.
Облачное значение по умолчанию: none
.
distributed_ddl_task_timeout
Type: Int64
Default value: 180
Устанавливает тайм-аут для ответов DDL запросов от всех хостов в кластере. Если DDL запрос не был выполнен на всех хостах, ответ будет содержать ошибку тайм-аута, и запрос будет выполнен в асинхронном режиме. Отрицательное значение означает бесконечный тайм-аут.
Возможные значения:
- Положительное целое число.
- 0 — Асинхронный режим.
- Отрицательное целое число — бесконечный тайм-аут.
distributed_foreground_insert
Type: Bool
Default value: 0
Включает или отключает синхронную вставку данных в таблицу Distributed.
По умолчанию, при вставке данных в таблицу Distributed
, сервер ClickHouse отправляет данные на узлы кластера в фоновом режиме. Когда distributed_foreground_insert=1
, данные обрабатываются синхронно, и операция INSERT
проходит успешно только после сохранения всех данных на всех шардх (как минимум одна реплика для каждого шарда, если internal_replication
истинно).
Возможные значения:
- 0 — Данные вставляются в фоновом режиме.
- 1 — Данные вставляются в синхронном режиме.
Облачное значение по умолчанию: 1
.
Смотрите также
distributed_group_by_no_merge
Type: UInt64
Default value: 0
Не объединять состояния агрегации с разных серверов для распределенной обработки запросов, вы можете использовать это в случае, если точно известно, что на разных шарах разные ключи.
Возможные значения:
0
— Отключено (финальная обработка запроса выполняется на узле инициаторе).1
- Не объединять состояния агрегации с разных серверов для распределенной обработки запросов (запрос полностью обрабатывается на шард, инициатор только проксирует данные), может быть использовано в случае, если точно известно, что на разных шарах разные ключи.2
- То же, что и1
, но применяетORDER BY
иLIMIT
(это невозможно, когда запрос полностью обрабатывается на удалённом узле, как дляdistributed_group_by_no_merge=1
) на инициаторе (можно использовать для запросов сORDER BY
и/илиLIMIT
).
Пример
distributed_insert_skip_read_only_replicas
Type: Bool
Default value: 0
Включает пропуск реплик только для чтения для запросов INSERT в Distributed.
Возможные значения:
- 0 — INSERT выполнялся как обычно, если он пойдет на реплику только для чтения, он завершится неудачно.
- 1 — Инициатор пропустит реплики только для чтения перед отправкой данных на шары.
distributed_product_mode
Type: DistributedProductMode
Default value: deny
Изменяет поведение распределенных подзапросов.
ClickHouse применяет эту настройку, когда запрос содержит произведение распределенных таблиц, т.е. когда запрос для распределенной таблицы содержит не-ГЛОБАЛЬНЫЙ подзапрос для распределенной таблицы.
Ограничения:
- Применяется только для подзапросов IN и JOIN.
- Только если раздел FROM использует распределенную таблицу, содержащую более одного шара.
- Если подзапрос касается распределенной таблицы, содержащей более одного шара.
- Не используется для функции удалённой таблицы remote.
Возможные значения:
deny
— Значение по умолчанию. Запрещает использование этих типов подзапросов (выдает исключение "Double-distributed in/JOIN subqueries is denied").local
— Заменяет базу данных и таблицу в подзапросе на локальные для целевого сервера (шара), оставляя обычныйIN
/JOIN
.global
— ЗаменяетIN
/JOIN
запрос наGLOBAL IN
/GLOBAL JOIN
.allow
— Разрешает использование этих типов подзапросов.
distributed_push_down_limit
Type: UInt64
Default value: 1
Включает или отключает применение LIMIT на каждом шарде отдельно.
Это позволит избежать:
- Отправки лишних строк по сети;
- Обработки строк за пределами лимита на инициаторе.
Начиная с версии 21.9, вы больше не можете получить неточные результаты, поскольку distributed_push_down_limit
изменяет выполнение запроса только в том случае, если выполнено хотя бы одно из условий:
- distributed_group_by_no_merge > 0.
- Запрос не содержит
GROUP BY
/DISTINCT
/LIMIT BY
, но содержитORDER BY
/LIMIT
. - Запрос содержит
GROUP BY
/DISTINCT
/LIMIT BY
сORDER BY
/LIMIT
и:- optimize_skip_unused_shards включен.
- optimize_distributed_group_by_sharding_key включен.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Смотрите также:
- distributed_group_by_no_merge
- optimize_skip_unused_shards
- optimize_distributed_group_by_sharding_key
distributed_replica_error_cap
Type: UInt64
Default value: 1000
- Type: unsigned int
- Default value: 1000
Количество ошибок для каждой реплики ограничивается этим значением, что предотвращает накопление слишком большого количества ошибок одной репликой.
Смотрите также:
- load_balancing
- Механизм таблицы Distributed
- distributed_replica_error_half_life
- distributed_replica_max_ignored_errors
distributed_replica_error_half_life
Type: Seconds
Default value: 60
- Type: seconds
- Default value: 60 seconds
Контролирует, как быстро ошибки в распределённых таблицах обнуляются. Если реплика недоступна в течение некоторого времени и накапливает 5 ошибок, а distributed_replica_error_half_life установлен в 1 секунду, то реплика считается нормальной через 3 секунды после последней ошибки.
Смотрите также:
- load_balancing
- Механизм таблицы Distributed
- distributed_replica_error_cap
- distributed_replica_max_ignored_errors
distributed_replica_max_ignored_errors
Type: UInt64
Default value: 0
- Type: unsigned int
- Default value: 0
Количество ошибок, которые будут игнорироваться при выборе реплик (в соответствии с алгоритмом load_balancing
).
Смотрите также:
- load_balancing
- Механизм таблицы Distributed
- distributed_replica_error_cap
- distributed_replica_error_half_life
do_not_merge_across_partitions_select_final
Type: Bool
Default value: 0
Слияние частей только в одной партиции в select final.
empty_result_for_aggregation_by_constant_keys_on_empty_set
Type: Bool
Default value: 1
Возвращать пустой результат при агрегировании по постоянным ключам на пустом наборе.
empty_result_for_aggregation_by_empty_set
Type: Bool
Default value: 0
Возвращать пустой результат при агрегировании без ключей на пустом наборе.
enable_adaptive_memory_spill_scheduler
Type: Bool
Default value: 0
Запускает процессор для адаптивного сброса данных в внешнее хранилище. В настоящее время поддерживается grace join.
enable_blob_storage_log
Type: Bool
Default value: 1
Записывает информацию о операциях с блоб-хранилищем в таблицу system.blob_storage_log.
enable_deflate_qpl_codec
Type: Bool
Default value: 0
Если включено, кодек DEFLATE_QPL может использоваться для сжатия колонок.
enable_early_constant_folding
Type: Bool
Default value: 1
Включает оптимизацию запросов, где мы анализируем функцию и результаты подзапросов и переписываем запрос, если там есть константы.
enable_extended_results_for_datetime_functions
Type: Bool
Default value: 0
Включает или отключает возврат результатов типа:
Date32
с расширенным диапазоном (по сравнению с типомDate
) для функций toStartOfYear, toStartOfISOYear, toStartOfQuarter, toStartOfMonth, toLastDayOfMonth, toStartOfWeek, toLastDayOfWeek и toMonday.DateTime64
с расширенным диапазоном (по сравнению с типомDateTime
) для функций toStartOfDay, toStartOfHour, toStartOfMinute, toStartOfFiveMinutes, toStartOfTenMinutes, toStartOfFifteenMinutes и timeSlot.
Возможные значения:
- 0 — Функции возвращают
Date
илиDateTime
для всех типов аргументов. - 1 — Функции возвращают
Date32
илиDateTime64
для аргументовDate32
илиDateTime64
, аDate
илиDateTime
в противном случае.
enable_filesystem_cache
Type: Bool
Default value: 1
Использовать кэш для удаленной файловой системы. Эта настройка не включает и не отключает кэш для дисков (это должно быть сделано через конфигурацию дисков), но позволяет обойти кэш для некоторых запросов, если это необходимо.
enable_filesystem_cache_log
Type: Bool
Default value: 0
Позволяет вести журнал кэширования файловой системы для каждого запроса.
enable_filesystem_cache_on_write_operations
Type: Bool
Default value: 0
Записывать в кэш при операциях записи. Чтобы эта настройка действительно работала, её необходимо добавить в конфигурацию дисков.
enable_filesystem_read_prefetches_log
Type: Bool
Default value: 0
Вести журнал в системе.filesystem prefetch_log во время запроса. Должен использоваться только для тестирования или отладки, не рекомендуется включать по умолчанию.
enable_global_with_statement
Type: Bool
Default value: 1
Распространять WIT налоговые заявления на объединить и все подзапросы.
enable_http_compression
Type: Bool
Default value: 0
Включает или отключает сжатие данных в ответе на HTTP запрос.
Для получения дополнительной информации смотрите описание HTTP интерфейса.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
enable_job_stack_trace
Type: Bool
Default value: 1
Выводить трассировку стека создателя задачи, когда задача завершается с исключением.
enable_lightweight_delete
Type: Bool
Default value: 1
Включает легкие операции DELETE для таблиц типа mergetree.
enable_memory_bound_merging_of_aggregation_results
Type: Bool
Default value: 1
Включает стратегию объединения, зависимую от памяти, для агрегации.
enable_multiple_prewhere_read_steps
Type: Bool
Default value: 1
Переносить больше условий из WHERE в PREWHERE и выполнять чтение с диска и фильтрацию в несколько шагов, если есть несколько условий, объединенных с AND.
enable_named_columns_in_function_tuple
Type: Bool
Default value: 0
Генерировать именованные кортежи в функции tuple() , когда все имена уникальны и могут рассматриваться как не заключенные в кавычки идентификаторы.
enable_optimize_predicate_expression
Type: Bool
Default value: 1
Включает проксирование предиката в запросах SELECT
.
Проксирование предиката может значительно сократить сетевой трафик для распределенных запросов.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Использование
Рассмотрите следующие запросы:
SELECT count() FROM test_table WHERE date = '2018-10-10'
SELECT count() FROM (SELECT * FROM test_table) WHERE date = '2018-10-10'
Если enable_optimize_predicate_expression = 1
, тогда время выполнения этих запросов будет одинаково, так как ClickHouse применяет WHERE
к подзапросу при его обработке.
Если enable_optimize_predicate_expression = 0
, тогда время выполнения второго запроса будет значительно больше, так как условие WHERE
применяется ко всем данным после завершения подзапроса.
enable_optimize_predicate_expression_to_final_subquery
Type: Bool
Default value: 1
Разрешить проксирование предиката в финальном подзапросе.
enable_order_by_all
Type: Bool
Default value: 1
Включает или отключает сортировку с синтаксисом ORDER BY ALL
, см. ORDER BY.
Возможные значения:
- 0 — Отключить ORDER BY ALL.
- 1 — Включить ORDER BY ALL.
Пример
Запрос:
Результат:
enable_parsing_to_custom_serialization
Type: Bool
Default value: 1
Если установлено в true, данные могут быть разобраны напрямую в колонки с пользовательской сериализацией (например, Sparse) в соответствии с подсказками для сериализации из таблицы.
enable_positional_arguments
Type: Bool
Default value: 1
Включает или отключает поддержку позиционных аргументов для операторов GROUP BY, LIMIT BY, ORDER BY.
Возможные значения:
- 0 — Позиционные аргументы не поддерживаются.
- 1 — Позиционные аргументы поддерживаются: номера колонок могут использоваться вместо имен колонок.
Пример
Запрос:
Результат:
enable_reads_from_query_cache
Type: Bool
Default value: 1
Если включено, результаты запросов SELECT
извлекаются из кэша запросов.
Возможные значения:
- 0 - Отключено
- 1 - Включено
enable_s3_requests_logging
Type: Bool
Default value: 0
Включить очень подробное ведение журнала запросов S3. Имеет смысл только для отладки.
enable_scalar_subquery_optimization
Type: Bool
Default value: 1
Если установлено в true, избежать (де)сериализации больших скалярных значений в скалярных подзапросах и, возможно, избежать выполнения одного и того же подзапроса более одного раза.
enable_sharing_sets_for_mutations
Type: Bool
Default value: 1
Разрешить совместное использование объектов набора, построенных для подзапросов IN, между различными задачами одной мутации. Это уменьшает использование памяти и потребление CPU.
enable_software_prefetch_in_aggregation
Type: Bool
Default value: 1
Включает использование программного предзагрузчика в агрегации.
enable_unaligned_array_join
Type: Bool
Default value: 0
Разрешить ARRAY JOIN с несколькими массивами, имеющими разные размеры. Когда эта настройка включена, массивы будут изменены в размер к самому длинному.
enable_url_encoding
Type: Bool
Default value: 1
Позволяет включать/выключать декодирование/кодирование пути в uri в таблицах механизма URL.
Включено по умолчанию.
enable_vertical_final
Type: Bool
Default value: 1
Если включено, удаляет дублирующиеся строки во время FINAL, помечая строки как удаленные и фильтруя их позже, вместо объединения строк.
enable_writes_to_query_cache
Type: Bool
Default value: 1
Если включено, результаты запросов SELECT
сохраняются в кэше запросов.
Возможные значения:
- 0 - Отключено
- 1 - Включено
enable_zstd_qat_codec
Type: Bool
Default value: 0
Если включено, кодек ZSTD_QAT может использоваться для сжатия колонок.
enforce_strict_identifier_format
Type: Bool
Default value: 0
Если включено, разрешаются только идентификаторы, содержащие буквенно-цифровые символы и символы подчёркивания.
engine_file_allow_create_multiple_files
Type: Bool
Default value: 0
Включает или отключает создание нового файла при каждой вставке в таблицах с файловым механизмом, если формат имеет суффикс (JSON
, ORC
, Parquet
и т.д.). Если включено, при каждой вставке будет создаваться новый файл с именем по следующему шаблону:
data.Parquet
-> data.1.Parquet
-> data.2.Parquet
и т.д.
Возможные значения:
- 0 — Запрос
INSERT
добавляет новые данные в конец файла. - 1 — Запрос
INSERT
создаёт новый файл.
flatten_nested
Тип: Bool
Значение по умолчанию: 1
Устанавливает формат данных колонок nested.
Возможные значения:
- 1 — Колонка nested расплющивается в отдельные массивы.
- 0 — Колонка nested остается единым массивом кортежей.
Использование
Если параметр установлен в 0
, возможно использование произвольного уровня вложенности.
Примеры
Запрос:
Результат:
Запрос:
Результат:
force_aggregate_partitions_independently
Тип: Bool
Значение по умолчанию: 0
Принудительно использовать оптимизацию, когда это применимо, но эвристика решила не использовать ее.
force_aggregation_in_order
Тип: Bool
Значение по умолчанию: 0
Параметр используется самим сервером для поддержки распределенных запросов. Не изменяйте его вручную, так как это нарушит нормальную работу. (Принуждает использовать агрегацию в порядке на удаленных узлах во время распределенной агрегации).
force_data_skipping_indices
Тип: String
Значение по умолчанию:
Отключает выполнение запроса, если переданные индексы пропуска данных не были использованы.
Рассмотрим следующий пример:
force_grouping_standard_compatibility
Тип: Bool
Значение по умолчанию: 1
Заставляет функцию GROUPING возвращать 1, когда аргумент не используется в качестве ключа агрегации.
force_index_by_date
Тип: Bool
Значение по умолчанию: 0
Отключает выполнение запроса, если индекс не может быть использован по дате.
Работает с таблицами в семье MergeTree.
Если force_index_by_date=1
, ClickHouse проверяет, есть ли в запросе условие по ключу даты, которое может быть использовано для ограничения диапазонов данных. Если нет подходящего условия, возникает исключение. Однако не проверяется, уменьшает ли условие объем данных для чтения. Например, условие Date != ' 2000-01-01 '
допустимо, даже если оно совпадает со всеми данными в таблице (т.е. выполнение запроса требует полного обхода). Для получения дополнительной информации о диапазонах данных в таблицах MergeTree см. MergeTree.
force_optimize_projection
Тип: Bool
Значение по умолчанию: 0
Включает или отключает обязательное использование проекций в запросах SELECT
, когда оптимизация проекции включена (см. параметр optimize_use_projections).
Возможные значения:
- 0 — Оптимизация проекции не является обязательной.
- 1 — Оптимизация проекции является обязательной.
force_optimize_projection_name
Тип: String
Значение по умолчанию:
Если установленное значение непустой строки, проверяет, что эта проекция используется в запросе хотя бы раз.
Возможные значения:
- string: имя проекции, которая использовалась в запросе.
force_optimize_skip_unused_shards
Тип: UInt64
Значение по умолчанию: 0
Включает или отключает выполнение запроса, если optimize_skip_unused_shards включен, и пропуск неиспользуемых шардов невозможен. Если пропуск невозможен и параметр включен, будет вызвано исключение.
Возможные значения:
- 0 — Отключено. ClickHouse не вызовет исключение.
- 1 — Включено. Выполнение запроса отключено только в том случае, если у таблицы есть шардирующий ключ.
- 2 — Включено. Выполнение запроса отключено независимо от того, определен ли шардирующий ключ для таблицы.
force_optimize_skip_unused_shards_nesting
Тип: UInt64
Значение по умолчанию: 0
Управляет force_optimize_skip_unused_shards
(поэтому все еще требует force_optimize_skip_unused_shards
) в зависимости от уровня вложенности распределенного запроса (случай, когда у вас есть Distributed
таблица, которая ссылается на другую Distributed
таблицу).
Возможные значения:
- 0 - Отключено,
force_optimize_skip_unused_shards
всегда работает. - 1 — Включает
force_optimize_skip_unused_shards
только для первого уровня. - 2 — Включает
force_optimize_skip_unused_shards
до второго уровня.
force_primary_key
Тип: Bool
Значение по умолчанию: 0
Отключает выполнение запроса, если индексирование по первичному ключу невозможно.
Работает с таблицами в семье MergeTree.
Если force_primary_key=1
, ClickHouse проверяет, имеются ли в запросе условия по первичному ключу, которые могут быть использованы для ограничения диапазонов данных. Если нет подходящего условия, возникает исключение. Однако не проверяется, уменьшает ли условие объем данных для чтения. Для получения дополнительной информации о диапазонах данных в таблицах MergeTree см. MergeTree.
force_remove_data_recursively_on_drop
Тип: Bool
Значение по умолчанию: 0
Рекурсивно удаляет данные при выполнении запроса DROP. Избегает ошибки 'Directory not empty', но может незаметно удалить отсоединенные данные.
formatdatetime_f_prints_scale_number_of_digits
Тип: Bool
Значение по умолчанию: 0
Форматировщик '%f' в функции 'formatDateTime' печатает только количество цифр масштаба для DateTime64 вместо фиксированных 6 цифр.
formatdatetime_f_prints_single_zero
Тип: Bool
Значение по умолчанию: 0
Форматировщик '%f' в функции 'formatDateTime' печатает один ноль вместо шести нулей, если форматируемое значение не имеет дробных секунд.
formatdatetime_format_without_leading_zeros
Тип: Bool
Значение по умолчанию: 0
Форматировщики '%c', '%l' и '%k' в функции 'formatDateTime' печатают месяцы и часы без ведущих нулей.
formatdatetime_parsedatetime_m_is_month_name
Тип: Bool
Значение по умолчанию: 1
Форматировщик '%M' в функциях 'formatDateTime' и 'parseDateTime' печатает/разбирает название месяца вместо минут.
fsync_metadata
Тип: Bool
Значение по умолчанию: 1
Включает или отключает fsync при записи .sql файлов. Включено по умолчанию.
Имеет смысл отключить его, если сервер имеет миллионы мелких таблиц, которые постоянно создаются и уничтожаются.
function_implementation
Тип: String
Значение по умолчанию:
Выбор реализации функции для конкретной цели или варианта (экспериментальный). Если пусто, включить все из них.
function_json_value_return_type_allow_complex
Тип: Bool
Значение по умолчанию: 0
Контролирует, разрешено ли возвращать сложный тип (например: struct, array, map) для функции json_value.
Возможные значения:
- true — Разрешить.
- false — Запретить.
function_json_value_return_type_allow_nullable
Тип: Bool
Значение по умолчанию: 0
Контролирует, разрешено ли возвращать NULL
при отсутствии значения для функции JSON_VALUE.
Возможные значения:
- true — Разрешить.
- false — Запретить.
function_locate_has_mysql_compatible_argument_order
Тип: Bool
Значение по умолчанию: 1
Контролирует порядок аргументов в функции locate.
Возможные значения:
- 0 — Функция
locate
принимает аргументы(haystack, needle[, start_pos])
. - 1 — Функция
locate
принимает аргументы(needle, haystack, [, start_pos])
(совместимое с MySQL поведение).
function_range_max_elements_in_block
Тип: UInt64
Значение по умолчанию: 500000000
Устанавливает порог безопасности для объема данных, генерируемых функцией range. Определяет максимальное количество значений, генерируемых функцией за блок данных (сумма размеров массивов для каждой строки в блоке).
Возможные значения:
- Положительное целое число.
Смотрите также
function_sleep_max_microseconds_per_block
Тип: UInt64
Значение по умолчанию: 3000000
Максимальное количество микросекунд, на которое функция sleep
может заснуть для каждого блока. Если пользователь вызовет его с большим значением, будет вызвано исключение. Это порог безопасности.
function_visible_width_behavior
Тип: UInt64
Значение по умолчанию: 1
Версия поведения visibleWidth
. 0 - только подсчитывает количество кодовых точек; 1 - правильно подсчитывает нулевые и комбинированные символы, считает полные символы шириной двоих, оценивает ширину табуляции, подсчитывает символы удаления.
geo_distance_returns_float64_on_float64_arguments
Тип: Bool
Значение по умолчанию: 1
Если все четыре аргумента для функций geoDistance
, greatCircleDistance
, greatCircleAngle
являются Float64, вернуть Float64 и использовать двойную точность для внутренних вычислений. В предыдущих версиях ClickHouse функции всегда возвращали Float32.
glob_expansion_max_elements
Тип: UInt64
Значение по умолчанию: 1000
Максимальное количество допустимых адресов (для внешних хранилищ, функций таблиц и т.д.).
grace_hash_join_initial_buckets
Тип: NonZeroUInt64
Значение по умолчанию: 1
Начальное количество корзин для соединения grace hash.
grace_hash_join_max_buckets
Тип: NonZeroUInt64
Значение по умолчанию: 1024
Ограничение на количество корзин для соединения grace hash.
group_by_overflow_mode
Тип: OverflowModeGroupBy
Значение по умолчанию: throw
Что делать, когда лимит превышен.
group_by_two_level_threshold
Тип: UInt64
Значение по умолчанию: 100000
С какого числа ключей начинается двухуровневая агрегация. 0 - порог не установлен.
group_by_two_level_threshold_bytes
Тип: UInt64
Значение по умолчанию: 50000000
С какого размера состояния агрегации в байтах начинает использоваться двухуровневая агрегация. 0 - порог не установлен. Двухуровневая агрегация используется, когда хотя бы один из порогов превышен.
group_by_use_nulls
Тип: Bool
Значение по умолчанию: 0
Изменяет способ обработки типами ключей агрегации GROUP BY clause.
Когда используются спецификаторы ROLLUP
, CUBE
или GROUPING SETS
, некоторые ключи агрегации могут не использоваться для получения некоторых строк результата.
Столбцы для этих ключей заполняются либо значением по умолчанию, либо NULL
в соответствующих строках в зависимости от этой настройки.
Возможные значения:
- 0 — Используется значение по умолчанию для типа ключа агрегации для получения отсутствующих значений.
- 1 — ClickHouse выполняет
GROUP BY
так, как это определено стандартом SQL. Типы ключей агрегации преобразуются в Nullable. Столбцы для соответствующих ключей агрегации заполняются NULL для строк, которые их не использовали.
См. также:
h3togeo_lon_lat_result_order
Тип: Bool
Значение по умолчанию: 0
Функция 'h3ToGeo' возвращает (lon, lat), если true, иначе (lat, lon).
handshake_timeout_ms
Тип: Milliseconds
Значение по умолчанию: 10000
Тайм-аут в миллисекундах для получения пакета Hello от реплик во время рукопожатия.
hdfs_create_new_file_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает создание нового файла при каждом вставке в таблицы HDFS. Если включено, при каждой вставке будет создан новый файл HDFS с именем, похожим на этот шаблон:
начальный: data.Parquet.gz
-> data.1.Parquet.gz
-> data.2.Parquet.gz
, и так далее.
Возможные значения:
- 0 —
INSERT
запрос добавляет новые данные в конец файла. - 1 —
INSERT
запрос создает новый файл.
hdfs_ignore_file_doesnt_exist
Тип: Bool
Значение по умолчанию: 0
Игнорировать отсутствие файла, если он не существует при чтении определенных ключей.
Возможные значения:
- 1 —
SELECT
возвращает пустой результат. - 0 —
SELECT
вызывает исключение.
hdfs_replication
Тип: UInt64
Значение по умолчанию: 0
Фактическое количество репликаций может быть указано при создании hdfs файла.
hdfs_skip_empty_files
Тип: Bool
Значение по умолчанию: 0
Включает или отключает пропуск пустых файлов в таблицах с движком HDFS.
Возможные значения:
- 0 —
SELECT
вызывает исключение, если пустой файл несовместим с запрашиваемым форматом. - 1 —
SELECT
возвращает пустой результат для пустого файла.
hdfs_throw_on_zero_files_match
Тип: Bool
Значение по умолчанию: 0
Вызывает ошибку, если совпадает ноль файлов в соответствии с правилами глобального расширения.
Возможные значения:
- 1 —
SELECT
вызывает исключение. - 0 —
SELECT
возвращает пустой результат.
hdfs_truncate_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает усечение перед вставкой в таблицы hdfs. Если отключено, будет вызвано исключение при попытке вставить, если файл в HDFS уже существует.
Возможные значения:
- 0 —
INSERT
запрос добавляет новые данные в конец файла. - 1 —
INSERT
запрос заменяет существующее содержимое файла новыми данными.
hedged_connection_timeout_ms
Тип: Milliseconds
Значение по умолчанию: 50
Тайм-аут подключения для установления соединения с репликой для хеджированных запросов.
hnsw_candidate_list_size_for_search
Тип: UInt64
Значение по умолчанию: 256
Размер динамического списка кандидатов во время поиска в индексе векторного сходства, также известный как 'ef_search'.
hsts_max_age
Тип: UInt64
Значение по умолчанию: 0
Время истечения HSTS. 0 означает отключение HSTS.
http_connection_timeout
Тип: Seconds
Значение по умолчанию: 1
Тайм-аут HTTP соединения (в секундах).
Возможные значения:
- Любое положительное целое число.
- 0 - Отключено (бесконечный тайм-аут).
http_headers_progress_interval_ms
Тип: UInt64
Значение по умолчанию: 100
Не отправлять HTTP заголовки X-ClickHouse-Progress чаще, чем на указанный интервал.
http_make_head_request
Тип: Bool
Значение по умолчанию: 1
Параметр http_make_head_request
позволяет выполнять HEAD
запрос при чтении данных по HTTP для получения информации о файле, который необходимо прочитать, например его размер. Поскольку он включен по умолчанию, может быть целесообразно отключить этот параметр в случаях, когда сервер не поддерживает HEAD
запросы.
http_max_field_name_size
Тип: UInt64
Значение по умолчанию: 131072
Максимальная длина имени поля в HTTP заголовке.
http_max_field_value_size
Тип: UInt64
Значение по умолчанию: 131072
Максимальная длина значения поля в HTTP заголовке.
http_max_fields
Тип: UInt64
Значение по умолчанию: 1000000
Максимальное количество полей в HTTP заголовке.
http_max_multipart_form_data_size
Тип: UInt64
Значение по умолчанию: 1073741824
Ограничение на размер содержимого multipart/form-data. Этот параметр не может быть разобран из URL параметров и должен быть установлен в профиле пользователя. Обратите внимание, что содержимое разбирается, и внешние таблицы создаются в памяти до начала выполнения запроса. И это единственное ограничение, которое влияет на этот этап (ограничения на максимальное использование памяти и максимальное время выполнения не имеют эффекта при чтении данных формы HTTP).
http_max_request_param_data_size
Тип: UInt64
Значение по умолчанию: 10485760
Ограничение на размер данных запроса, используемого в качестве параметра запроса в предопределенных HTTP запросах.
http_max_tries
Тип: UInt64
Значение по умолчанию: 10
Максимальное количество попыток чтения через http.
http_max_uri_size
Тип: UInt64
Значение по умолчанию: 1048576
Устанавливает максимальную длину URI HTTP запроса.
Возможные значения:
- Положительное целое число.
http_native_compression_disable_checksumming_on_decompress
Тип: Bool
Значение по умолчанию: 0
Включает или отключает проверку контрольной суммы при распаковке данных HTTP POST от клиента. Используется только для формата сжатия ClickHouse (не используется с gzip
или deflate
).
Для получения дополнительной информации ознакомьтесь с описанием HTTP интерфейса.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
http_receive_timeout
Тип: Seconds
Значение по умолчанию: 30
Тайм-аут получения HTTP (в секундах).
Возможные значения:
- Любое положительное целое число.
- 0 - Отключено (бесконечный тайм-аут).
http_response_buffer_size
Тип: UInt64
Значение по умолчанию: 0
Количество байтов, которые будут буферизоваться в памяти сервера перед отправкой ответа HTTP клиенту или сбросом на диск (когда http_wait_end_of_query включен).
http_response_headers
Тип: Map
Значение по умолчанию:
Позволяет добавлять или переопределять HTTP заголовки, которые сервер будет возвращать в ответе на успешный результат запроса. Это затрагивает только HTTP интерфейс.
Если заголовок уже установлен по умолчанию, предоставленное значение переопределит его. Если заголовок не был установлен по умолчанию, он будет добавлен в список заголовков. Заголовки, которые устанавливаются сервером по умолчанию и не переопределяются этим параметром, останутся.
Параметр позволяет установить заголовок на постоянное значение. В настоящее время нет способа установить заголовок на динамически вычисляемое значение.
Ни имена, ни значения не могут содержать управляющие символы ASCII.
Если вы реализуете приложение пользовательского интерфейса, которое позволяет пользователям изменять настройки, но в то же время принимает решения на основе возвращаемых заголовков, рекомендуется ограничить этот параметр в режиме только для чтения.
Пример: SET http_response_headers = '{"Content-Type": "image/png"}'
http_retry_initial_backoff_ms
Тип: UInt64
Значение по умолчанию: 100
Минимальные миллисекунды для отката, при повторных попытках чтения через http.
Запрос без игнорирования каких-либо индексов:
Игнорируя индекс xy_idx
:
Работает с таблицами в семействе MergeTree.
ignore_drop_queries_probability
Тип: Float
Значение по умолчанию: 0
Если включено, сервер будет игнорировать все запросы DROP таблиц с указанной вероятностью (для Memory и JOIN движков запрос заменит DROP на TRUNCATE). Используется в тестовых целях
ignore_materialized_views_with_dropped_target_table
Тип: Bool
Значение по умолчанию: 0
Игнорировать МВ с удаленной целевой таблицей при отправке в представления.
ignore_on_cluster_for_replicated_access_entities_queries
Тип: Bool
Значение по умолчанию: 0
Игнорировать клаузулу ON CLUSTER для управлений запросами реплицированных сущностей.
ignore_on_cluster_for_replicated_named_collections_queries
Тип: Bool
Значение по умолчанию: 0
Игнорировать клаузулу ON CLUSTER для управлений запросами реплицированных именованных коллекций.
ignore_on_cluster_for_replicated_udf_queries
Тип: Bool
Значение по умолчанию: 0
Игнорировать клаузулу ON CLUSTER для управлений запросами реплицированных UDF.
implicit_select
Тип: Bool
Значение по умолчанию: 0
Разрешить написание простых SELECT-запросов без начального ключевого слова SELECT, что упрощает использование в стиле калькулятора, например, 1 + 2
становится корректным запросом.
В clickhouse-local
это включено по умолчанию и может быть явно отключено.
implicit_transaction
Тип: Bool
Значение по умолчанию: 0
Если включено и не находясь уже внутри транзакции, оборачивает запрос внутри полной транзакции (начало + коммит или откат)
input_format_parallel_parsing
Тип: Bool
Значение по умолчанию: 1
Включает или выключает параллельный анализ форматов данных, сохраняя порядок. Поддерживается только для форматов TSV, TSKV, CSV и JSONEachRow.
Возможные значения:
- 1 — Включено.
- 0 — Выключено.
insert_allow_materialized_columns
Тип: Bool
Значение по умолчанию: 0
Если настройка включена, разрешает материализованные колонки в INSERT.
insert_deduplicate
Тип: Bool
Значение по умолчанию: 1
Включает или отключает дедупликацию блоков команды INSERT
(для таблиц Replicated*).
Возможные значения:
- 0 — Выключено.
- 1 — Включено.
По умолчанию блоки, вставляемые в реплицированные таблицы с помощью команды INSERT
, дедуплицируются (см. Репликация данных).
Для реплицированных таблиц по умолчанию только 100 самых последних блоков для каждой партиции дедуплицируются (см. replicated_deduplication_window, replicated_deduplication_window_seconds).
Для непубликуемых таблиц см. non_replicated_deduplication_window.
insert_deduplication_token
Тип: String
Значение по умолчанию:
Эта настройка позволяет пользователю предоставить собственную семантику дедупликации в MergeTree/ReplicatedMergeTree. Например, указав уникальное значение для настройки в каждом утверждении INSERT, пользователь может избежать дедупликации одних и тех же вставленных данных.
Возможные значения:
- Любая строка
insert_deduplication_token
используется для дедупликации только в том случае, если он не пуст.
Для реплицированных таблиц по умолчанию только 100 самых последних вставок для каждой партиции дедуплицируются (см. replicated_deduplication_window, replicated_deduplication_window_seconds). Для непубликуемых таблиц см. non_replicated_deduplication_window.
insert_deduplication_token
работает на уровне партиции (так же, как и контрольная сумма insert_deduplication
). У нескольких партиций может быть одно и то же insert_deduplication_token
.
Пример:
insert_keeper_fault_injection_probability
Тип: Float
Значение по умолчанию: 0
Приблизительная вероятность сбоя для запроса к хранилищу Keeper во время вставки. Допустимое значение находится в интервале [0.0f, 1.0f]
insert_keeper_fault_injection_seed
Тип: UInt64
Значение по умолчанию: 0
0 - случайное значение, в противном случае значение настройки
insert_keeper_max_retries
Тип: UInt64
Значение по умолчанию: 20
Эта настройка устанавливает максимальное количество повторных попыток для запросов ClickHouse Keeper (или ZooKeeper) во время вставки в реплицированный MergeTree. Учитываются только запросы Keeper, которые не удались из-за сетевой ошибки, таймаута сессии Keeper или таймаута запроса.
Возможные значения:
- Положительное целое число.
- 0 — Повторы отключены
Значение по умолчанию для облака: 20
.
Повторы запросов Keeper выполняются после некоторого таймаута. Таймаут контролируется следующими настройками: insert_keeper_retry_initial_backoff_ms
, insert_keeper_retry_max_backoff_ms
.
Первая попытка выполняется после таймаута insert_keeper_retry_initial_backoff_ms
. Последующие таймауты будут рассчитаны следующим образом:
Например, если insert_keeper_retry_initial_backoff_ms=100
, insert_keeper_retry_max_backoff_ms=10000
и insert_keeper_max_retries=8
, то таймауты будут 100, 200, 400, 800, 1600, 3200, 6400, 10000
.
Помимо обеспечения отказоустойчивости, повторные попытки направлены на улучшение пользовательского опыта - они позволяют избежать возврата ошибки во время выполнения INSERT, если Keeper, например, перезапускается из-за обновления.
insert_keeper_retry_initial_backoff_ms
Тип: UInt64
Значение по умолчанию: 100
Первый временной интервал (в миллисекундах) для повторной попытки неудачного запроса Keeper во время выполнения запроса на ВСТАВКУ
Возможные значения:
- Положительное целое число.
- 0 — Нет тайм-аута
insert_keeper_retry_max_backoff_ms
Тип: UInt64
Значение по умолчанию: 10000
Максимальный тайм-аут (в миллисекундах) для повторной попытки неудачного запроса Keeper во время выполнения запроса на ВСТАВКУ
Возможные значения:
- Положительное целое число.
- 0 — Максимальный тайм-аут не ограничен
insert_null_as_default
Тип: Bool
Значение по умолчанию: 1
Включает или отключает вставку значений по умолчанию вместо NULL в колонки с ненулевым типом данных.
Если тип колонки не допускает NULL, и эта настройка отключена, то вставка NULL
вызовет исключение. Если тип колонки допускает NULL, то значения NULL вставляются как есть, независимо от этой настройки.
Эта настройка применима к запросам INSERT ... SELECT. Обратите внимание, что подзапросы SELECT
могут быть конкатенированы с клаузой UNION ALL
.
Возможные значения:
- 0 — Вставка
NULL
в ненулевую колонку вызывает исключение. - 1 — Значение колонки по умолчанию вставляется вместо
NULL
.
insert_quorum
Тип: UInt64Auto
Значение по умолчанию: 0
Эта настройка не применяется к SharedMergeTree, см. Консистентность SharedMergeTree для получения дополнительной информации.
Включает записи кворума.
- Если
insert_quorum < 2
, записи кворума отключены. - Если
insert_quorum >= 2
, записи кворума включены. - Если
insert_quorum = 'auto'
, используйте число большинства (number_of_replicas / 2 + 1
) как число кворума.
Записи кворума
INSERT
удается только в том случае, если ClickHouse сможет успешно записать данные в указанное количество реплик insert_quorum
в течение insert_quorum_timeout
. Если по любой причине количество реплик с успешными записями не достигает значения insert_quorum
, запись считается неудачной, и ClickHouse удалит вставленный блок из всех реплик, в которые данные уже были записаны.
Когда insert_quorum_parallel
отключен, все реплики в кворуме согласованы, т.е. они содержат данные из всех предыдущих запросов INSERT
(последовательность INSERT
линеаризована). При чтении данных, записанных с помощью insert_quorum
, и отключенном insert_quorum_parallel
, можно включить последовательную согласованность для запросов SELECT
, используя select_sequential_consistency.
ClickHouse генерирует исключение:
- Если количество доступных реплик на момент выполнения запроса меньше, чем
insert_quorum
. - Когда
insert_quorum_parallel
отключен и предпринята попытка записи данных, когда предыдущий блок еще не был вставлен вinsert_quorum
реплик. Эта ситуация может возникнуть, если пользователь пытается выполнить другой запросINSERT
в ту же таблицу до завершения предыдущего сinsert_quorum
.
См. также:
insert_quorum_parallel
Тип: Bool
Значение по умолчанию: 1
Эта настройка не применяется к SharedMergeTree, см. Консистентность SharedMergeTree для получения дополнительной информации.
Включает или отключает параллелизм для запросов INSERT
кворума. Если включено, дополнительные запросы INSERT
могут быть отправлены, в то время как предыдущие запросы еще не завершены. Если отключен, дополнительные записи в ту же таблицу будут отклонены.
Возможные значения:
- 0 — Выключено.
- 1 — Включено.
См. также:
insert_quorum_timeout
Тип: Миллисекунды
Значение по умолчанию: 600000
Тайм-аут записи в кворум в миллисекундах. Если тайм-аут истек и запись еще не произошла, ClickHouse сгенерирует исключение, и клиент должен повторить запрос, чтобы записать тот же блок в ту же или любую другую реплику.
См. также:
insert_shard_id
Тип: UInt64
Значение по умолчанию: 0
Если не 0
, указывает шард таблицы Distributed, в которую данные будут вставлены синхронно.
Если значение insert_shard_id
некорректно, сервер выдаст исключение.
Чтобы получить количество шардов в requested_cluster
, вы можете проверить конфигурацию сервера или использовать следующий запрос:
Возможные значения:
- 0 — Отключено.
- Любое число от
1
доshards_num
соответствующей таблицы Distributed.
Пример
Запрос:
Результат:
interactive_delay
Тип: UInt64
Значение по умолчанию: 100000
Интервал в микросекундах для проверки, было ли выполнение запроса отменено и отправки прогресса.
intersect_default_mode
Тип: SetOperationMode
Значение по умолчанию: ALL
Устанавливает режим по умолчанию в запросе INTERSECT. Возможные значения: пустая строка, 'ALL', 'DISTINCT'. Если пусто, запрос без режима вызовет ошибку.
join_algorithm
Тип: JoinAlgorithm
Значение по умолчанию: direct,parallel_hash,hash
Указывает, какой алгоритм JOIN используется.
Можно указать несколько алгоритмов, и доступный будет выбран для конкретного запроса в зависимости от типа/строгости и движка таблицы.
Возможные значения:
- grace_hash
Алгоритм Grace hash join используется. Grace hash предоставляет вариант алгоритма, который обеспечивает производительность сложных объединений, ограничивая использование памяти.
Первая фаза grace join читает правую таблицу и разбивает её на N ведер в зависимости от значения хеша ключевых колонок (изначально N — это grace_hash_join_initial_buckets
). Это сделано таким образом, чтобы обеспечить возможность независимой обработки каждого ведра. Строки из первого ведра добавляются в хеш-таблицу в памяти, в то время как остальные сохраняются на диске. Если хеш-таблица превышает лимит памяти (например, как установлено commutative or associative operator), будет увеличено количество ведер и назначенное ведро для каждой строки. Все строки, которые не относятся к текущему ведру, сбрасываются и переназначаются.
Поддерживает INNER/LEFT/RIGHT/FULL ALL/ANY JOIN
.
- hash
Используется алгоритм Hash join. Наиболее общая реализация, которая поддерживает все комбинации типа и строгости и несколько ключей объединения, которые комбинируются с OR
в разделе JOIN ON
.
При использовании алгоритма hash
правая часть JOIN
загружается в ОЗУ.
- parallel_hash
Вариант hash
join, который разбивает данные на ведра и строит несколько хеш-таблиц одновременно, чтобы ускорить этот процесс.
При использовании алгоритма parallel_hash
правая часть JOIN
загружается в ОЗУ.
- partial_merge
Вариант алгоритма sort-merge, при котором только правая таблица полностью отсортирована.
Поддерживаются только RIGHT JOIN
и FULL JOIN
с ALL
строгестью (SEMI
, ANTI
, ANY
, и ASOF
не поддерживаются).
При использовании алгоритма partial_merge
ClickHouse сортирует данные и выгружает их на диск. Алгоритм partial_merge
в ClickHouse несколько отличается от классической реализации. Сначала ClickHouse сортирует правую таблицу по ключам объединения в блоках и создаёт мин-макс индекс для отсортированных блоков. Затем он сортирует части левой таблицы по join key
и объединяет их с правой таблицей. Мин-макс индекс также используется для пропуска ненужных блоков правой таблицы.
- direct
Этот алгоритм может применяться, когда хранилище для правой таблицы поддерживает ключевые запросы.
Алгоритм direct
выполняет поиск в правой таблице, используя строки из левой таблицы в качестве ключей. Он поддерживается только специальным хранилищем, таким как Dictionary или EmbeddedRocksDB и только для LEFT
и INNER
JOIN.
- auto
При установленном значении auto
сначала пытается использовать hash
join, а алгоритм переключается на лету на другой алгоритм, если превышен лимит памяти.
- full_sorting_merge
Алгоритм sort-merge с полной сортировкой объединённых таблиц перед объединением.
- prefer_partial_merge
ClickHouse всегда пытается использовать partial_merge
join, если это возможно, в противном случае используется hash
. Устарело, так же как partial_merge,hash
.
- default (устарело)
Устаревшее значение, пожалуйста, не используйте его больше.
То же самое, что и direct,hash
, т.е. сначала пытайтесь использовать прямое соединение и хеш-соединение (в этом порядке).
join_any_take_last_row
Тип: Bool
Значение по умолчанию: 0
Изменяет поведение операций объединения с строгим ANY
.
Эта настройка применяется только к операциям JOIN
с таблицами Join.
Возможные значения:
- 0 — Если правая таблица имеет более одной совпадающей строки, объединяется только первая найденная.
- 1 — Если правая таблица имеет более одной совпадающей строки, объединяется только последняя найденная.
См. также:
join_default_strictness
Тип: JoinStrictness
Значение по умолчанию: ALL
Устанавливает строгую настройку по умолчанию для klaузы JOIN.
Возможные значения:
ALL
— Если правая таблица имеет несколько совпадающих строк, ClickHouse создаёт Декартово произведение из совпадающих строк. Это нормальное поведениеJOIN
в стандартном SQL.ANY
— Если правая таблица имеет несколько совпадающих строк, объединяется только первая найденная. Если правая таблица имеет только одну совпадающую строку, результатыANY
иALL
одинаковы.ASOF
— Для объединения последовательностей с неопределённым соответствием.Пустая строка
— ЕслиALL
илиANY
не указаны в запросе, ClickHouse генерирует исключение.
join_on_disk_max_files_to_merge
Тип: UInt64
Значение по умолчанию: 64
Ограничивает количество файлов, разрешённых для параллельной сортировки в операциях MergeJoin, когда они выполняются на диске.
Чем больше значение настройки, тем больше будет использовано ОЗУ и меньше операций ввода-вывода с диска. Возможные значения:
- Любое положительное целое число, начиная с 2.
join_output_by_rowlist_perkey_rows_threshold
Тип: UInt64
Значение по умолчанию: 5
Нижний предел среднего числа строк по ключу в правой таблице, чтобы определить, следует ли выводить по списку строк в хеш-объединении.
join_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда предел превышен.
join_to_sort_maximum_table_rows
Тип: UInt64
Значение по умолчанию: 10000
Максимальное количество строк в правой таблице для определения, следует ли переупорядочить правую таблицу по ключу в левом или внутреннем объединении.
join_to_sort_minimum_perkey_rows
Тип: UInt64
Значение по умолчанию: 40
Нижний предел среднего числа строк по ключу в правой таблице, чтобы определить, следует ли переупорядочить правую таблицу по ключу в левом или внутреннем объединении. Эта настройка обеспечивает отсутствие применения оптимизации для разреженных ключей таблицы
join_use_nulls
Тип: Bool
Значение по умолчанию: 0
Устанавливает тип поведения JOIN. При объединении таблиц могут появиться пустые ячейки. ClickHouse заполняет их по-разному в зависимости от этой настройки.
Возможные значения:
- 0 — Пустые ячейки заполняются значением по умолчанию соответствующего типа поля.
- 1 —
JOIN
ведет себя так же, как в стандартном SQL. Тип соответствующего поля преобразуется в Nullable, и пустые ячейки заполняются NULL.
joined_subquery_requires_alias
Тип: Bool
Значение по умолчанию: 1
Обязательные объединенные подзапросы и функции таблиц должны иметь псевдонимы для правильной квалификации имени.
kafka_disable_num_consumers_limit
Тип: Bool
Значение по умолчанию: 0
Выключить ограничение на kafka_num_consumers, которое зависит от числа доступных ядер CPU.
kafka_max_wait_ms
Тип: Миллисекунды
Значение по умолчанию: 5000
Время ожидания в миллисекундах для чтения сообщений из Kafka перед повторной попыткой.
Возможные значения:
- Положительное целое число.
- 0 — Бесконечный тайм-аут.
См. также:
keeper_map_strict_mode
Тип: Bool
Значение по умолчанию: 0
Обязательные дополнительные проверки во время операций с KeeperMap. Например, выбросить исключение при вставке для уже существующего ключа
keeper_max_retries
Тип: UInt64
Значение по умолчанию: 10
Максимальное количество попыток для общих операций Keeper
keeper_retry_initial_backoff_ms
Тип: UInt64
Значение по умолчанию: 100
Начальный тайм-аут обслуживания для общих операций Keeper
keeper_retry_max_backoff_ms
Тип: UInt64
Значение по умолчанию: 5000
Максимальный тайм-аут обслуживания для общих операций Keeper
least_greatest_legacy_null_behavior
Тип: Bool
Значение по умолчанию: 0
Если включено, функции 'least' и 'greatest' возвращают NULL, если один из их аргументов равен NULL.
legacy_column_name_of_tuple_literal
Тип: Bool
Значение по умолчанию: 0
Список всех имен элементов больших литералов кортежа в их именах колонок вместо хеша. Эта настройка существует только по соображениям совместимости. Имеет смысл установить значение 'true', при выполнении поэтапного обновления кластера с версии ниже 21.7 до более высокой.
lightweight_deletes_sync
Тип: UInt64
Значение по умолчанию: 2
То же самое, что и mutations_sync
, но контролирует только выполнение легковых удалений.
Возможные значения:
- 0 - Мутации выполняются асинхронно.
- 1 - Запрос ждет, пока легковые удаления завершатся на текущем сервере.
- 2 - Запрос ждет, пока легковые удаления завершатся на всех репликах (если они существуют).
См. также
limit
Тип: UInt64
Значение по умолчанию: 0
Устанавливает максимальное количество строк для получения из результата запроса. Он корректирует значение, установленное клаузой LIMIT, так, чтобы лимит, указанный в запросе, не превышал лимит, установленный этой настройкой.
Возможные значения:
- 0 — количество строк не ограничено.
- Положительное целое число.
live_view_heartbeat_interval
Тип: Секунды
Значение по умолчанию: 15
Интервал сердцебиения в секундах, чтобы указать, что живой запрос активен.
load_balancing
Тип: LoadBalancing
Значение по умолчанию: random
Указывает алгоритм выбора реплик, который используется для распределенной обработки запросов.
ClickHouse поддерживает следующие алгоритмы выбора реплик:
- Случайный (по умолчанию)
- Ближайшее имя хоста
- Расстояние levenshtein имени хоста
- Порядок
- Первый или случайный
- Круговая очередь
См. также:
Случайный (по умолчанию)
Количество ошибок учитывается для каждой реплики. Запрос отправляется в реплику с наименьшим количеством ошибок, а если таких несколько, к любой из них. Недостатки: Близость сервера не учитывается. Если на репликах разные данные, вы также получите разные данные.
Ближайшее имя хоста
Количество ошибок учитывается для каждой реплики. Каждые 5 минут количество ошибок интегрально делится на 2. Таким образом, количество ошибок считается за недавний период с экспоненциальным сглаживанием. Если есть одна реплика с минимальным количеством ошибок (т.е. ошибки произошли за последнее время на других репликах), запрос отправляется к ней. Если несколько реплик имеют одинаковое минимальное количество ошибок, запрос отправляется к реплике с именем хоста, наиболее схожим с именем сервера в конфигурационном файле (по количеству различных символов в одинаковых позициях, до минимальной длины обоих имен хостов).
Например, example01-01-1 и example01-01-2 различаются в одной позиции, в то время как example01-01-1 и example01-02-2 различаются в двух местах. Этот метод может показаться примитивным, но он не требует внешних данных о сетевой топологии, и он не сравнивает IP-адреса, что было бы затруднительно для наших адресов IPv6.
Таким образом, если есть эквивалентные реплики, предпочтение отдается ближайшей по имени. Также можно предположить, что при отправке запроса к тому же серверу, при отсутствии сбоев, распределенный запрос также будет направлен на те же серверы. Поэтому, даже если на репликах разные данные, запрос обычно вернет одни и те же результаты.
Расстояние levenshtein имени хоста
Точно так же, как nearest_hostname
, но сравнивает имя хоста по расстоянию levenshtein. Например:
В порядке
Реплики с одинаковым числом ошибок доступны в том порядке, в каком они указаны в конфигурации. Этот метод подходит, когда известно, какая реплика предпочтительнее.
Первая или случайная
Этот алгоритм выбирает первую реплику в наборе или случайную реплику, если первая недоступна. Он эффективен в настройках кросс-репликации, но бесполезен в других конфигурациях.
Алгоритм first_or_random
решает проблему алгоритма in_order
. При использовании in_order
, если одна реплика выходит из строя, следующая получает повышенную нагрузку, в то время как остальные реплики обрабатывают обычное количество трафика. При использовании алгоритма first_or_random
нагрузка равномерно распределяется между доступными репликами.
Можно явно определить, какая реплика является первой, используя настройку load_balancing_first_offset
. Это дает больше контроля для балансировки рабочих нагрузок запросов между репликами.
Круговая замена
Этот алгоритм использует политику круговой замены для реплик с одинаковым количеством ошибок (учитываются только запросы с политикой round_robin
).
load_balancing_first_offset
Тип: UInt64
Значение по умолчанию: 0
Какую реплику предпочитать для отправки запроса, когда используется стратегия балансировки нагрузки FIRST_OR_RANDOM.
load_marks_asynchronously
Тип: Bool
Значение по умолчанию: 0
Асинхронная загрузка меток MergeTree.
local_filesystem_read_method
Тип: String
Значение по умолчанию: pread_threadpool
Метод чтения данных из локальной файловой системы, один из: read, pread, mmap, io_uring, pread_threadpool. Метод 'io_uring' является экспериментальным и не работает для Log, TinyLog, StripeLog, File, Set и Join, а также других таблиц с файлами на добавление при одновременных чтениях и записях.
local_filesystem_read_prefetch
Тип: Bool
Значение по умолчанию: 0
Следует ли использовать предзагрузку при чтении данных из локальной файловой системы.
lock_acquire_timeout
Тип: Seconds
Значение по умолчанию: 120
Определяет, сколько секунд запрос блокировки ждет перед неудачей.
Таймаут блокировки используется для защиты от взаимных блокировок при выполнении операций чтения/записи с таблицами. Когда таймаут истекает и запрос блокировки не удается, сервер ClickHouse генерирует исключение "Locking attempt timed out! Possible deadlock avoided. Client should retry." с кодом ошибки DEADLOCK_AVOIDED
.
Возможные значения:
- Положительное целое число (в секундах).
- 0 — Без таймаута блокировки.
log_comment
Тип: String
Значение по умолчанию:
Указывает значение для поля log_comment
таблицы system.query_log и текст комментария для сервера.
Это может использоваться для повышения читаемости журналов сервера. Кроме того, это помогает выбрать запросы, связанные с тестом, из system.query_log
после запуска clickhouse-test.
Возможные значения:
- Любая строка не длиннее max_query_size. Если превышен max_query_size, сервер генерирует исключение.
Пример
Запрос:
Результат:
log_formatted_queries
Тип: Bool
Значение по умолчанию: 0
Позволяет записывать отформатированные запросы в системную таблицу system.query_log (заполняет колонку formatted_query
в system.query_log).
Возможные значения:
- 0 — Отформатированные запросы не записываются в системную таблицу.
- 1 — Отформатированные запросы записываются в системную таблицу.
log_processors_profiles
Тип: Bool
Значение по умолчанию: 1
Записывать время, которое процессор потратил во время выполнения/ожидания данных в таблицу system.processors_profile_log
.
Смотрите также:
log_profile_events
Тип: Bool
Значение по умолчанию: 1
Записывать статистику производительности запросов в журналах query_log, query_thread_log и query_views_log.
log_queries
Тип: Bool
Значение по умолчанию: 1
Настройка ведения журнала запросов.
Запросы, отправленные в ClickHouse с этой настройкой, записываются в соответствии с правилами в параметре конфигурации сервера query_log.
Пример:
log_queries_cut_to_length
Тип: UInt64
Значение по умолчанию: 100000
Если длина запроса превышает указанный порог (в байтах), то запрос укорачивается при записи в журнал запросов. Также ограничить длину печатаемого запроса в обычном текстовом журнале.
log_queries_min_query_duration_ms
Тип: Milliseconds
Значение по умолчанию: 0
Если включено (не нулевое), запросы, выполняющиеся быстрее значения этой настройки, не будут записываться (можно думать об этом как о long_query_time
для MySQL Slow Query Log), и это в основном означает, что вы не найдете их в следующих таблицах:
system.query_log
system.query_thread_log
Только запросы следующего типа попадут в журнал:
-
QUERY_FINISH
-
EXCEPTION_WHILE_PROCESSING
-
Тип: миллисекунды
-
Значение по умолчанию: 0 (любой запрос)
log_queries_min_type
Тип: LogQueriesType
Значение по умолчанию: QUERY_START
Минимальный тип query_log
для записи.
Возможные значения:
QUERY_START
(=1
)QUERY_FINISH
(=2
)EXCEPTION_BEFORE_START
(=3
)EXCEPTION_WHILE_PROCESSING
(=4
)
Можно использовать для ограничения, какие сущности будут записываться в query_log
, например, если вас интересуют только ошибки, тогда вы можете использовать EXCEPTION_WHILE_PROCESSING
:
log_queries_probability
Тип: Float
Значение по умолчанию: 1
Позволяет пользователю записывать в системные таблицы query_log, query_thread_log и query_views_log только выборку запросов, выбранных случайным образом с заданной вероятностью. Это помогает уменьшить нагрузку при большом объеме запросов в секунду.
Возможные значения:
- 0 — Запросы не записываются в системные таблицы.
- Положительное число с плавающей запятой в диапазоне [0..1]. Например, если значение настройки равно
0.5
, примерно половина запросов записывается в системные таблицы. - 1 — Все запросы записываются в системные таблицы.
log_query_settings
Тип: Bool
Значение по умолчанию: 1
Записывать настройки запроса в журнал query_log и журнал OpenTelemetry span.
log_query_threads
Тип: Bool
Значение по умолчанию: 0
Настройка ведения журнала потоков запросов.
Потоки запросов записываются в таблицу system.query_thread_log. Эта настройка действует только в том случае, если log_queries истинна. Потоки запросов, выполняемые ClickHouse с этой настройкой, записываются в соответствии с правилами в параметре конфигурации сервера query_thread_log.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Пример
log_query_views
Тип: Bool
Значение по умолчанию: 1
Настройка ведения журнала представлений запросов.
Когда запрос, выполняемый ClickHouse с этой настройкой включенной, имеет связанные представления (материализованные или живые представления), они записываются в параметре конфигурации сервера query_views_log.
Пример:
low_cardinality_allow_in_native_format
Тип: Bool
Значение по умолчанию: 1
Разрешает или ограничивает использование типа данных LowCardinality с форматом Native.
Если использование LowCardinality
ограничено, сервер ClickHouse преобразует колонки типа LowCardinality
в обычные для запросов SELECT
, а обычные колонки преобразуются в колонки типа LowCardinality
для запросов INSERT
.
Эта настройка требуется в основном для сторонних клиентов, которые не поддерживают тип данных LowCardinality
.
Возможные значения:
- 1 — Использование
LowCardinality
не ограничено. - 0 — Использование
LowCardinality
ограничено.
low_cardinality_max_dictionary_size
Тип: UInt64
Значение по умолчанию: 8192
Устанавливает максимальный размер в строках общего глобального словаря для типа данных LowCardinality, который можно записать в файловую систему хранения. Эта настройка предотвращает проблемы с ОЗУ в случае беспредельного роста словаря. Все данные, которые не могут быть закодированы из-за ограничения максимального размера словаря, ClickHouse записывает обычным способом.
Возможные значения:
- Любое положительное целое число.
low_cardinality_use_single_dictionary_for_part
Тип: Bool
Значение по умолчанию: 0
Включает или отключает использование одного словаря для части данных.
По умолчанию сервер ClickHouse отслеживает размер словарей, и если словарь превышает лимит, сервер начинает записывать следующий. Чтобы запретить создание нескольких словарей, установите low_cardinality_use_single_dictionary_for_part = 1
.
Возможные значения:
- 1 — Запрещено создание нескольких словарей для части данных.
- 0 — Запрещено создание нескольких словарей для части данных.
materialize_skip_indexes_on_insert
Тип: Bool
Значение по умолчанию: 1
Если INSERT создает и сохраняет индексы пропуска. Если отключено, индексы пропуска будут создаваться и храниться во время слияния или явного MATERIALIZE INDEX.
materialize_statistics_on_insert
Тип: Bool
Значение по умолчанию: 1
Если INSERT создает и вставляет статистику. Если отключено, статистика будет создаваться и храниться во время слияния или явного MATERIALIZE STATISTICS.
materialize_ttl_after_modify
Тип: Bool
Значение по умолчанию: 1
Применить TTL для старых данных после запроса ALTER MODIFY TTL.
materialized_views_ignore_errors
Тип: Bool
Значение по умолчанию: 0
Позволяет игнорировать ошибки для МАТЕРИАЛИЗОВАННОГО ПРЕДСТАВЛЕНИЯ и передавать оригинальный блок в таблицу, независимо от MVs.
max_analyze_depth
Тип: UInt64
Значение по умолчанию: 5000
Максимальное количество анализов, выполняемых интерпретатором.
max_ast_depth
Тип: UInt64
Значение по умолчанию: 1000
Максимальная глубина синтаксического дерева запроса. Проверяется после разбора.
max_ast_elements
Тип: UInt64
Значение по умолчанию: 50000
Максимальный размер синтаксического дерева запроса в количестве узлов. Проверяется после разбора.
max_autoincrement_series
Тип: UInt64
Значение по умолчанию: 1000
Лимит по количеству серий, создаваемых функцией generateSeriesID
.
Поскольку каждая серия представляет собой узел в Keeper, рекомендуется не иметь более пары миллионов из них.
max_backup_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Максимальная скорость чтения в байтах в секунду для конкретного резервного копирования на сервере. Ноль означает неограниченное.
max_block_size
Тип: UInt64
Значение по умолчанию: 65409
В ClickHouse данные обрабатываются блоками, которые представляют собой наборы колонок. Внутренние циклы обработки для одного блока эффективны, но есть значительные затраты при обработке каждого блока.
Настройка max_block_size
указывает рекомендуемое максимальное количество строк, которые должны быть включены в один блок при загрузке данных из таблиц. Блоки размером max_block_size
не всегда загружаются из таблицы: если ClickHouse определяет, что нужно получить меньше данных, обрабатывается меньший блок.
Размер блока не должен быть слишком маленьким, чтобы избежать заметных затрат при обработке каждого блока. Он также не должен быть слишком большим, чтобы обеспечить быстрое выполнение запросов с оператором LIMIT после обработки первого блока. При установке max_block_size
цель должна заключаться в избегании чрезмерного потребления памяти при извлечении большого количества колонок в нескольких потоках и сохранении хотя бы некоторой локальности кэша.
max_bytes_before_external_group_by
Тип: UInt64
Значение по умолчанию: 0
Если использование памяти во время операции GROUP BY превышает этот порог в байтах, активируется режим "внешней агрегации" (выгрузка данных на диск). Рекомендуемое значение — половина доступной системной памяти.
max_bytes_before_external_sort
Тип: UInt64
Значение по умолчанию: 0
Если использование памяти во время операции ORDER BY превышает этот порог в байтах, активируется режим "внешней сортировки" (выгрузка данных на диск). Рекомендуемое значение — половина доступной системной памяти.
max_bytes_before_remerge_sort
Тип: UInt64
Значение по умолчанию: 1000000000
В случае ORDER BY с LIMIT, когда использование памяти превышает указанный порог, выполняются дополнительные шаги слияния блоков перед финальным слиянием, чтобы оставить только верхние LIMIT строки.
max_bytes_in_distinct
Тип: UInt64
Значение по умолчанию: 0
Максимальный общий размер состояния (в несжатых байтах) в памяти для выполнения DISTINCT.
max_bytes_in_join
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер хеш-таблицы для JOIN (в байтах в памяти).
max_bytes_in_set
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер множества (в байтах в памяти), полученный в результате выполнения секции IN.
max_bytes_ratio_before_external_group_by
Тип: Double
Значение по умолчанию: 0.5
Соотношение используемой памяти перед включением внешнего GROUP BY. Если установить его на 0.6, то внешнее GROUP BY будет использоваться, как только использование памяти достигнет 60% допустимой памяти для запроса.
max_bytes_ratio_before_external_sort
Тип: Double
Значение по умолчанию: 0.5
Соотношение используемой памяти перед включением внешнего ORDER BY. Если установить его на 0.6, то внешнее ORDER BY будет использоваться, как только использование памяти достигнет 60% допустимой памяти для запроса.
max_bytes_to_read
Тип: UInt64
Значение по умолчанию: 0
Лимит на читаемые байты (после декомпрессии) из самых "глубоких" источников. То есть, только в глубочайшем подзапросе. При чтении с удаленного сервера это проверяется только на удаленном сервере.
max_bytes_to_read_leaf
Тип: UInt64
Значение по умолчанию: 0
Лимит на читаемые байты (после декомпрессии) на листовых узлах для распределенных запросов. Лимит применяется только для локальных чтений, исключая финальную стадию слияния на корневом узле. Обратите внимание, что настройка нестабильна при prefer_localhost_replica=1.
max_bytes_to_sort
Тип: UInt64
Значение по умолчанию: 0
Если для выполнения операции ORDER BY необходимо обработать более указанного объема (несжатых) байтов, поведение будет определяться 'sort_overflow_mode', который по умолчанию - генерирует исключение.
max_bytes_to_transfer
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер (в несжатых байтах) передаваемой внешней таблицы, полученной при выполнении секции GLOBAL IN/JOIN.
max_columns_to_read
Тип: UInt64
Значение по умолчанию: 0
Если запрос требует чтения более указанного количества колонок, генерируется исключение. Нулевое значение означает неограниченное. Эта настройка полезна для предотвращения слишком сложных запросов.
max_compress_block_size
Тип: UInt64
Значение по умолчанию: 1048576
Максимальный размер блоков несжатых данных перед сжатием для записи в таблицу. По умолчанию 1,048,576 (1 MiB). Указание меньшего размера блока обычно приводит к немного большему уменьшению коэффициента сжатия, скорость сжатия и декомпрессии немного увеличивается за счет локальности кэша, и снижается потребление памяти.
Это настройка на уровне экспертов, и вы не должны изменять ее, если только не начали только с ClickHouse.
Не путайте блоки для сжатия (кусок памяти, состоящий из байтов) с блоками для обработки запросов (набор строк из таблицы).
max_concurrent_queries_for_all_users
Тип: UInt64
Значение по умолчанию: 0
Генерировать исключение, если значение этой настройки меньше или равно текущему количеству одновременно обрабатываемых запросов.
Пример: max_concurrent_queries_for_all_users
можно установить на 99 для всех пользователей, а администратор базы данных может установить его на 100 для себя, чтобы выполнять запросы для исследования, даже когда сервер перегружен.
Изменение настройки для одного запроса или пользователя не влияет на другие запросы.
Возможные значения:
- Положительное целое число.
- 0 — Без ограничения.
Пример
Смотрите также
max_concurrent_queries_for_user
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество одновременно обрабатываемых запросов для пользователя.
Возможные значения:
- Положительное целое число.
- 0 — Без ограничения.
Пример
max_distributed_connections
Тип: UInt64
Значение по умолчанию: 1024
Максимальное количество одновременных соединений с удаленными серверами для распределенной обработки одного запроса к одной распределенной таблице. Рекомендуется установить значение не менее количества серверов в кластере.
Следующие параметры используются только при создании распределенных таблиц (и при запуске сервера), поэтому нет смысла изменять их во время выполнения.
max_distributed_depth
Тип: UInt64
Значение по умолчанию: 5
Ограничивает максимальную глубину рекурсивных запросов для таблиц Distributed.
Если значение превышено, сервер генерирует исключение.
Возможные значения:
- Положительное целое число.
- 0 — Неограниченная глубина.
max_download_buffer_size
Тип: UInt64
Значение по умолчанию: 10485760
Максимальный размер буфера для параллельного скачивания (например, для URL engine) на каждый поток.
max_download_threads
Тип: MaxThreads
Значение по умолчанию: 4
Максимальное количество потоков для скачивания данных (например, для URL engine).
max_estimated_execution_time
Тип: Seconds
Значение по умолчанию: 0
Максимальное время оценки выполнения запроса в секундах.
max_execution_speed
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество строк, обрабатываемых в секунду.
max_execution_speed_bytes
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество байтов, обрабатываемых в секунду.
max_execution_time
Тип: Seconds
Значение по умолчанию: 0
Если время выполнения запроса превышает указанное количество секунд, поведение будет определяться 'timeout_overflow_mode', который по умолчанию - генерирует исключение. Обратите внимание, что таймаут проверяется, и запрос может остановиться только в определенных местах во время обработки данных. В данный момент он не может остановиться во время слияния состояний агрегации или во время анализа запроса, и фактическое время выполнения будет больше, чем значение этой настройки.
max_execution_time_leaf
Тип: Seconds
Значение по умолчанию: 0
Похожие семантики к max_execution_time, но применяется только на листовом узле для распределенных запросов, поведение таймаута будет определяться 'timeout_overflow_mode_leaf', который по умолчанию - генерирует исключение.
max_expanded_ast_elements
Тип: UInt64
Значение по умолчанию: 500000
Максимальный размер синтаксического дерева запроса в количестве узлов после расширения алиасов и звездочки.
max_fetch_partition_retries_count
Тип: UInt64
Значение по умолчанию: 5
Количество попыток при извлечении раздела с другого хоста.
max_final_threads
Тип: MaxThreads
Значение по умолчанию: 'auto(12)'
Устанавливает максимальное количество параллельных потоков для фазы чтения данных запроса SELECT
с модификатором FINAL.
Возможные значения:
- Положительное целое число.
- 0 или 1 — отключено. Запросы
SELECT
выполняются в одном потоке.
max_http_get_redirects
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество разрешенных перенаправлений HTTP GET. Обеспечивает дополнительные меры безопасности для предотвращения перенаправления ваших запросов на неожиданные службы злонамеренным сервером.\n\nЭто происходит, когда внешний сервер перенаправляет на другой адрес, но этот адрес оказывается внутренним для инфраструктуры компании, и отправляя HTTP-запрос на внутренний сервер, можно было бы запросить внутренний API из внутренней сети, минуя аутентификацию, или даже запросить другие службы, такие как Redis или Memcached. Когда у вас нет внутренней инфраструктуры (включая что-то, работащее на вашем localhost) или вы доверяете серверу, безопасно разрешать перенаправления. Тем не менее, помните, что если URL использует HTTP вместо HTTPS, и вам потребуется доверять не только удаленному серверу, но и вашему интернет-провайдеру и каждой сети в середине.
max_hyperscan_regexp_length
Тип: UInt64
Значение по умолчанию: 0
Определяет максимальную длину каждого регулярного выражения в многократных функциях поиска hyperscan.
Возможные значения:
- Положительное целое число.
- 0 - Длина не ограничена.
Пример
Запрос:
Результат:
Запрос:
Результат:
Смотрите также
max_hyperscan_regexp_total_length
Тип: UInt64
Значение по умолчанию: 0
Устанавливает максимальную общую длину всех регулярных выражений в каждой функции multi-match hyperscan.
Возможные значения:
- Положительное целое число.
- 0 - Длина не ограничена.
Пример
Запрос:
Результат:
Запрос:
Результат:
Смотрите также
max_insert_block_size
Тип: UInt64
Значение по умолчанию: 1048449
Размер блоков (в количестве строк), которые необходимо сформировать для вставки в таблицу. Эта настройка применяется только в случаях, когда сервер формирует блоки. Например, при INSERT через HTTP интерфейс сервер разбирает формат данных и формирует блоки указанного размера. Но при использовании clickhouse-client клиент разбирает данные сам и настройка 'max_insert_block_size' на сервере не влияет на размер вставляемых блоков. Также настройка не имеет смысла при использовании INSERT SELECT, поскольку данные вставляются с использованием тех же блоков, которые формируются после SELECT.
По умолчанию несколько больше, чем max_block_size
. Причина этого заключается в том, что некоторые движки таблиц (*MergeTree
) формируют часть данных на диске для каждого вставленного блока, что является довольно крупной сущностью. Аналогично, таблицы *MergeTree
сортируют данные при вставке, и достаточно большой размер блока позволяет сортировать больше данных в ОЗУ.
max_insert_delayed_streams_for_parallel_write
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество потоков (колонок), для которых задерживается окончательная выгрузка части. По умолчанию - auto (1000 в случае, если подлежащая память поддерживает параллельную запись, например S3 и отключена в противном случае).
max_insert_threads
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество потоков для выполнения запроса INSERT SELECT
.
Возможные значения:
- 0 (или 1) —
INSERT SELECT
без параллельного выполнения. - Положительное целое число. Больше 1.
Облачное значение по умолчанию: от 2
до 4
, в зависимости от размера сервиса.
Параллельный INSERT SELECT
оказывает влияние только в том случае, если часть SELECT
выполняется параллельно, смотрите настройку max_threads. Более высокие значения приведут к увеличению потребления памяти.
max_joined_block_size_rows
Тип: UInt64
Значение по умолчанию: 65409
Максимальный размер блока для результата JOIN (если алгоритм join поддерживает это). 0 означает неограниченное.
max_limit_for_ann_queries
Тип: UInt64
Значение по умолчанию: 1000000
Запросы SELECT с LIMIT больше, чем эта настройка, не могут использовать индексы векторной схожести. Помогает предотвратить переполнение памяти в индексах векторной схожести.
max_live_view_insert_blocks_before_refresh
Тип: UInt64
Значение по умолчанию: 64
Ограничивает максимальное количество вставленных блоков, после которого сливаемые блоки отбрасываются и запрос повторно выполняется.
max_local_read_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Максимальная скорость локального чтения в байтах в секунду.
max_local_write_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Максимальная скорость локальной записи в байтах в секунду.
max_memory_usage
Тип: UInt64
Значение по умолчанию: 0
Максимальное использование памяти для обработки одного запроса. Ноль означает неограниченное.
max_memory_usage_for_user
Тип: UInt64
Значение по умолчанию: 0
Максимальное использование памяти для обработки всех одновременно запущенных запросов для пользователя. Ноль означает неограниченное.
max_network_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Ограничивает скорость обмена данными по сети в байтах в секунду. Эта настройка применяется к каждому запросу.
Возможные значения:
- Положительное целое число.
- 0 — Контроль пропускной способности отключен.
max_network_bandwidth_for_all_users
Тип: UInt64
Значение по умолчанию: 0
Ограничивает скорость передачи данных по сети в байтах в секунду. Эта настройка применяется ко всем одновременно запущенным запросам на сервере.
Возможные значения:
- Положительное целое число.
- 0 — Контроль скорости передачи данных отключен.
max_network_bandwidth_for_user
Тип: UInt64
Значение по умолчанию: 0
Ограничивает скорость обмена данными по сети в байтах в секунду. Эта настройка применяется ко всем одновременно запущенным запросам, выполняемым одним пользователем.
Возможные значения:
- Положительное целое число.
- 0 — Контроль скорости передачи данных отключен.
max_network_bytes
Тип: UInt64
Значение по умолчанию: 0
Ограничивает объем данных (в байтах), которые принимаются или передаются по сети при выполнении запроса. Эта настройка применяется к каждому отдельному запросу.
Возможные значения:
- Положительное целое число.
- 0 — Контроль объема данных отключен.
max_number_of_partitions_for_independent_aggregation
Тип: UInt64
Значение по умолчанию: 128
Максимальное количество разделов в таблице для применения оптимизации.
max_parallel_replicas
Тип: NonZeroUInt64
Значение по умолчанию: 1000
Максимальное количество реплик для каждого шарда при выполнении запроса.
Возможные значения:
- Положительное целое число.
Дополнительная информация
Эта опция будет давать разные результаты в зависимости от используемых настроек.
Эта настройка будет давать некорректные результаты, когда участвуют соединения или подзапросы, и все таблицы не соответствуют определенным требованиям. Смотрите Распределенные Подзапросы и max_parallel_replicas для получения дополнительных сведений.
Параллельная обработка с использованием ключа SAMPLE
Запрос может обрабатываться быстрее, если он выполняется на нескольких серверах параллельно. Но производительность запроса может ухудшаться в следующих случаях:
- Положение ключа выборки в ключе партиционирования не позволяет эффективно выполнять диапазонные сканирования.
- Добавление ключа выборки в таблицу делает фильтрацию по другим колонкам менее эффективной.
- Ключ выборки — это выражение, которое дорого вычислять.
- Распределение задержки кластера имеет длинный хвост, так что опрос более чем нескольких серверов увеличивает общую задержку запроса.
Параллельная обработка с использованием parallel_replicas_custom_key
Эта настройка полезна для любой реплицированной таблицы.
max_parser_backtracks
Тип: UInt64
Значение по умолчанию: 1000000
Максимальное количество возвращений парсера (сколько раз он пытается различные альтернативы в процессе рекурсивного спуска при разборе).
max_parser_depth
Тип: UInt64
Значение по умолчанию: 1000
Ограничивает максимальную глубину рекурсии в рекурсивном разборе. Позволяет контролировать размер стека.
Возможные значения:
- Положительное целое число.
- 0 — Глубина рекурсии не ограничена.
max_parsing_threads
Тип: MaxThreads
Значение по умолчанию: 'auto(12)'
Максимальное количество потоков для разбора данных в форматах ввода, которые поддерживают параллельный разбор. По умолчанию определяется автоматически.
max_partition_size_to_drop
Тип: UInt64
Значение по умолчанию: 50000000000
Ограничение на удаление партиций во время выполнения запроса. Значение 0 означает, что вы можете удалять партиции без каких-либо ограничений.
Значение по умолчанию в облаке: 1 ТБ.
Этот параметр запроса переопределяет его эквивалент на уровне сервера, см. max_partition_size_to_drop.
max_partitions_per_insert_block
Тип: UInt64
Значение по умолчанию: 100
Ограничивает максимальное количество партиций в одном вставляемом блоке. Ноль означает отсутствие лимита. Выдаёт исключение, если блок содержит слишком много партиций. Этот параметр является предохранительным, так как использование большого количества партиций является распространённым заблуждением.
max_partitions_to_read
Тип: Int64
Значение по умолчанию: -1
Ограничивает максимальное количество партиций, которые можно получить в одном запросе. <= 0 означает неограничено.
max_parts_to_move
Тип: UInt64
Значение по умолчанию: 1000
Ограничивает количество частей, которые могут быть перемещены в одном запросе. Ноль означает неограниченно.
max_query_size
Тип: UInt64
Значение по умолчанию: 262144
Максимальное количество байт в строке запроса, разбираемой SQL-парсером. Данные в разделе VALUES запросов INSERT обрабатываются отдельным потоком парсера (который использует O(1) RAM) и не подвержены этому ограничению.
max_query_size
не может быть установлен внутри SQL-запроса (например, SELECT now() SETTINGS max_query_size=10000
), потому что ClickHouse должен выделить буфер для разбора запроса, и размер этого буфера определяется настройкой max_query_size
, которая должна быть сконфигурирована до выполнения запроса.
max_read_buffer_size
Тип: UInt64
Значение по умолчанию: 1048576
Максимальный размер буфера для чтения с файловой системы.
max_read_buffer_size_local_fs
Тип: UInt64
Значение по умолчанию: 131072
Максимальный размер буфера для чтения с локальной файловой системы. Если установить 0, то будет использоваться max_read_buffer_size.
max_read_buffer_size_remote_fs
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер буфера для чтения с удалённой файловой системы. Если установить 0, то будет использоваться max_read_buffer_size.
max_recursive_cte_evaluation_depth
Тип: UInt64
Значение по умолчанию: 1000
Максимальное ограничение на глубину оценки рекурсивного CTE.
max_remote_read_network_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Максимальная скорость обмена данными по сети в байтах в секунду для чтения.
max_remote_write_network_bandwidth
Тип: UInt64
Значение по умолчанию: 0
Максимальная скорость обмена данными по сети в байтах в секунду для записи.
max_replica_delay_for_distributed_queries
Тип: UInt64
Значение по умолчанию: 300
Отключает отстающие реплики для распределённых запросов. См. Replication.
Задает время в секундах. Если отставание реплики больше или равно установленному значению, эта реплика не используется.
Возможные значения:
- Положительное целое число.
- 0 — Отставания реплик не проверяются.
Чтобы предотвратить использование какой-либо реплики с ненулевым отставанием, установите этот параметр на 1.
Используется при выполнении SELECT
из распределённой таблицы, которая указывает на реплицированные таблицы.
max_result_bytes
Тип: UInt64
Значение по умолчанию: 0
Ограничение на размер результата в байтах (не сжатом). Запрос прекратит обработку после обработки блока данных, если достигнут порог, но не обрежет последний блок результата, поэтому размер результата может превышать порог. Предостережения: размер результата в памяти учитывается для этого порога. Даже если размер результата мал, он может ссылаться на более крупные структуры данных в памяти, представляющие словари колонок LowCardinality и Arenas колонок AggregateFunction, поэтому порог может быть превышен, несмотря на малый размер результата. Этот параметр является довольно низким уровнем и должен использоваться с осторожностью.
max_result_rows
Тип: UInt64
Значение по умолчанию: 0
Ограничение на размер результата в количествах строк. Запрос прекратит обработку после обработки блока данных, если достигнут порог, но не обрежет последний блок результата, поэтому размер результата может превышать порог.
max_rows_in_distinct
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество элементов во время выполнения DISTINCT.
max_rows_in_join
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер хэш-таблицы для JOIN (в количестве строк).
max_rows_in_set
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер множества (в количестве элементов), получаемый в результате выполнения раздела IN.
max_rows_in_set_to_optimize_join
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер множества для фильтрации соединённых таблиц по множествам строк друг друга перед соединением.
Возможные значения:
- 0 — Отключить.
- Любое положительное целое число.
max_rows_to_group_by
Тип: UInt64
Значение по умолчанию: 0
Если агрегация во время GROUP BY генерирует больше, чем указанное количество строк (уникальных ключей GROUP BY), поведение будет определяться 'group_by_overflow_mode', который по умолчанию - выбросить исключение, но также может быть переключён в приблизительный режим GROUP BY.
max_rows_to_read
Тип: UInt64
Значение по умолчанию: 0
Ограничение на количество прочитанных строк из самых 'глубоких' источников. То есть только в самом глубоком подзапросе. При чтении из удалённого сервера это проверяется только на удалённом сервере.
max_rows_to_read_leaf
Тип: UInt64
Значение по умолчанию: 0
Ограничение на количество прочитанных строк на листовых узлах для распределённых запросов. Ограничение применяется только к локальным чтениям, исключая последний этап слияния на корневом узле. Обратите внимание, что этот параметр нестабилен с prefer_localhost_replica=1.
max_rows_to_sort
Тип: UInt64
Значение по умолчанию: 0
Если более указанного количества записей должны быть обработаны для операции ORDER BY, поведение будет определяться 'sort_overflow_mode', который по умолчанию - выбросить исключение.
max_rows_to_transfer
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер (в строках) передаваемой внешней таблицы, полученной при выполнении секции GLOBAL IN/JOIN.
max_sessions_for_user
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество одновременных сессий для пользователя.
max_size_to_preallocate_for_aggregation
Тип: UInt64
Значение по умолчанию: 1000000000000
На сколько элементов разрешается заранее выделять пространство во всех хэш-таблицах перед агрегацией.
max_size_to_preallocate_for_joins
Тип: UInt64
Значение по умолчанию: 1000000000000
На сколько элементов разрешается заранее выделять пространство во всех хэш-таблицах перед соединением.
max_streams_for_merge_tree_reading
Тип: UInt64
Значение по умолчанию: 0
Если не ноль, ограничивает количество потоков для чтения таблицы MergeTree.
max_streams_multiplier_for_merge_tables
Тип: Float
Значение по умолчанию: 5
Запрашивает больше потоков при чтении из таблицы Merge. Потоки будут распределены по таблицам, которые использует таблица Merge. Это позволяет более равномерно распределить работу между потоками и особенно полезно, когда объединяемые таблицы различаются по размеру.
max_streams_to_max_threads_ratio
Тип: Float
Значение по умолчанию: 1
Позволяет использовать больше источников, чем количество потоков, чтобы более равномерно распределить работу между потоками. Предполагается, что это временное решение, так как в будущем будет возможно сделать количество источников равным количеству потоков, но для каждого источника динамически выбирать доступную работу для себя.
max_subquery_depth
Тип: UInt64
Значение по умолчанию: 100
Если запрос содержит более указанного количества вложенных подзапросов, выбросить исключение. Это позволяет провести проверку на разумность, чтобы защитить пользователей вашего кластера от безумных запросов.
max_table_size_to_drop
Тип: UInt64
Значение по умолчанию: 50000000000
Ограничение на удаление таблиц во время выполнения запроса. Значение 0 означает, что вы можете удалить все таблицы без каких-либо ограничений.
Значение по умолчанию в облаке: 1 ТБ.
Этот параметр запроса переопределяет его эквивалент на уровне сервера, см. max_table_size_to_drop.
max_temporary_columns
Тип: UInt64
Значение по умолчанию: 0
Если запрос генерирует более указанного количества временных колонок в памяти в результате промежуточных вычислений, будет выброшено исключение. Значение ноль означает неограничено. Этот параметр полезен для предотвращения слишком сложных запросов.
max_temporary_data_on_disk_size_for_query
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество данных, потребляемых временными файлами на диске в байтах для всех одновременно выполняемых запросов. Ноль означает неограничено.
max_temporary_data_on_disk_size_for_user
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество данных, потребляемых временными файлами на диске в байтах для всех одновременно выполняемых пользовательских запросов. Ноль означает неограничено.
max_temporary_non_const_columns
Тип: UInt64
Значение по умолчанию: 0
Похожие на настройку 'max_temporary_columns', но применяются только к неконстантным колонкам. Это имеет смысл, так как константные колонки не дорогие, и логично разрешать их больше.
max_threads
Тип: MaxThreads
Значение по умолчанию: 'auto(12)'
Максимальное количество потоков обработки запросов, исключая потоки для получения данных с удалённых серверов (см. параметр 'max_distributed_connections').
Этот параметр применяется к потокам, которые выполняют те же стадии конвейера обработки запросов параллельно. Например, при чтении из таблицы, если возможно оценить выражения с функциями, фильтровать с WHERE и предварительно агрегировать для GROUP BY параллельно, используя как минимум 'max_threads' потоков, то используются 'max_threads'.
Для запросов, которые выполняются быстро из-за LIMIT, вы можете установить меньший 'max_threads'. Например, если необходимое количество записей находится в каждом блоке, и max_threads = 8, то будет извлечено 8 блоков, хотя бы достаточно было прочитать только один.
Чем меньше значение max_threads
, тем меньше памяти будет потреблено.
max_threads_for_indexes
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество потоков для обработки индексов.
max_untracked_memory
Тип: UInt64
Значение по умолчанию: 4194304
Небольшие выделения и освобождения группируются в локальной переменной потока и отслеживаются или профилируются только тогда, когда сумма (в абсолютном значении) превышает указанное значение. Если значение выше 'memory_profiler_step', оно будет эффективно снижено до 'memory_profiler_step'.
memory_overcommit_ratio_denominator
Тип: UInt64
Значение по умолчанию: 1073741824
Он представляет собой мягкий предел памяти, когда жесткий предел достигается на глобальном уровне. Это значение используется для вычисления коэффициента перераспределения для запроса. Ноль означает пропуск запроса. Узнайте больше о перераспределении памяти.
memory_overcommit_ratio_denominator_for_user
Тип: UInt64
Значение по умолчанию: 1073741824
Он представляет собой мягкий предел памяти, когда жесткий предел достигается на уровне пользователя. Это значение используется для вычисления коэффициента перераспределения для запроса. Ноль означает пропуск запроса. Узнайте больше о перераспределении памяти.
memory_profiler_sample_max_allocation_size
Тип: UInt64
Значение по умолчанию: 0
Собирать случайные выделения размером меньше или равным указанному значению с вероятностью, равной memory_profiler_sample_probability
. 0 означает отключено. Вы можете установить 'max_untracked_memory' на 0, чтобы этот порог работал, как ожидалось.
memory_profiler_sample_min_allocation_size
Тип: UInt64
Значение по умолчанию: 0
Собирать случайные выделения размером больше или равным указанному значению с вероятностью, равной memory_profiler_sample_probability
. 0 означает отключено. Вы можете установить 'max_untracked_memory' на 0, чтобы этот порог работал, как ожидалось.
memory_profiler_sample_probability
Тип: Float
Значение по умолчанию: 0
Собирать случайные выделения и освобождения и записывать их в system.trace_log с 'MemorySample' trace_type. Вероятность относится к каждому выделению/освобождению независимо от размера выделения (может быть изменена с помощью memory_profiler_sample_min_allocation_size
и memory_profiler_sample_max_allocation_size
). Обратите внимание, что выборка происходит только тогда, когда сумма неотслеживаемой памяти превышает 'max_untracked_memory'. Вы можете установить 'max_untracked_memory' на 0 для более детальной выборки.
memory_profiler_step
Тип: UInt64
Значение по умолчанию: 4194304
Устанавливает шаг профайлера памяти. Когда использование памяти запросом превышает каждый следующий шаг в количестве байт, профайлер памяти соберет стек вызова выделения и запишет его в trace_log.
Возможные значения:
- Положительное целое число в байтах.
- 0 для отключения профайлера памяти.
memory_tracker_fault_probability
Тип: Float
Значение по умолчанию: 0
Для тестирования 'exception safety' - выбросить исключение каждый раз, когда вы выделяете память с указанной вероятностью.
memory_usage_overcommit_max_wait_microseconds
Тип: UInt64
Значение по умолчанию: 5000000
Максимальное время, которое поток будет ждать освобождения памяти в случае перераспределения памяти на уровне пользователя. Если время ожидания истечёт, и память не освобождена, будет выброшено исключение. Узнайте больше о перераспределении памяти.
merge_table_max_tables_to_look_for_schema_inference
Тип: UInt64
Значение по умолчанию: 1000
При создании таблицы Merge
без явной схемы или при использовании функции таблицы merge
, выводите схему как объединение не более указанного числа соответствующих таблиц. Если количество таблиц больше, схема будет выведена из первого указанного числа таблиц.
merge_tree_coarse_index_granularity
Тип: UInt64
Значение по умолчанию: 8
При поиске данных ClickHouse проверяет метки данных в индексе. Если ClickHouse устанавливает, что необходимые ключи находятся в некотором диапазоне, он делит этот диапазон на merge_tree_coarse_index_granularity
подсегментов и рекурсивно ищет необходимые ключи там.
Возможные значения:
- Любое положительное четное число.
merge_tree_compact_parts_min_granules_to_multibuffer_read
Тип: UInt64
Значение по умолчанию: 16
Имеет эффект только в ClickHouse Cloud. Количество гранул в полосе компактной части MergeTree таблиц для использования многобуферного ридера, который поддерживает параллельное чтение и предварительную выборку. В случае чтения из удалённой файловой системы использование многобуферного ридера увеличивает количество запросов на чтение.
merge_tree_determine_task_size_by_prewhere_columns
Тип: Bool
Значение по умолчанию: 1
Использовать ли только размер колонок prewhere для определения размера задачи чтения.
merge_tree_max_bytes_to_use_cache
Тип: UInt64
Значение по умолчанию: 2013265920
Если ClickHouse должен прочитать больше, чем merge_tree_max_bytes_to_use_cache
байтов за один запрос, он не использует кэш несжатых блоков.
Кэш несжатых блоков хранит данные, извлеченные для запросов. ClickHouse использует этот кэш для ускорения ответов на повторяющиеся небольшие запросы. Эта настройка защищает кэш от засорения запросами, которые читают большой объём данных. Параметр uncompressed_cache_size на сервере определяет размер кэша несжатых блоков.
Возможные значения:
- Любое положительное целое число.
merge_tree_max_rows_to_use_cache
Тип: UInt64
Значение по умолчанию: 1048576
Если ClickHouse должен прочитать больше, чем merge_tree_max_rows_to_use_cache
строк за один запрос, он не использует кэш несжатых блоков.
Кэш несжатых блоков хранит данные, извлеченные для запросов. ClickHouse использует этот кэш для ускорения ответов на повторяющиеся небольшие запросы. Эта настройка защищает кэш от засорения запросами, которые читают большой объём данных. Параметр uncompressed_cache_size на сервере определяет размер кэша несжатых блоков.
Возможные значения:
- Любое положительное целое число.
merge_tree_min_bytes_for_concurrent_read
Тип: UInt64
Значение по умолчанию: 251658240
Если количество байтов, которые необходимо прочитать из одного файла таблицы MergeTree, превышает merge_tree_min_bytes_for_concurrent_read
, ClickHouse пытается прочитать этот файл параллельно в нескольких потоках.
Возможное значение:
- Положительное целое число.
merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество байтов для чтения из одного файла перед тем, как движок MergeTree может параллелизировать чтение, при чтении из удалённой файловой системы. Мы не рекомендуем использовать эту настройку.
Возможные значения:
- Положительное целое число.
merge_tree_min_bytes_for_seek
Тип: UInt64
Значение по умолчанию: 0
Если расстояние между двумя блоками данных, которые необходимо прочитать из одного файла, меньше, чем merge_tree_min_bytes_for_seek
байт, ClickHouse последовательно читает диапазон файла, содержащий оба блока, таким образом избегая дополнительных перемещений.
Возможные значения:
- Любое положительное целое число.
merge_tree_min_bytes_per_task_for_remote_reading
Тип: UInt64
Значение по умолчанию: 2097152
Минимальное количество байтов для чтения на задачу.
merge_tree_min_read_task_size
Тип: UInt64
Значение по умолчанию: 8
Жёсткий нижний предел на размер задачи (даже когда количество гранул невелико и количество доступных потоков велико, мы не выделим меньшие задачи).
merge_tree_min_rows_for_concurrent_read
Тип: UInt64
Значение по умолчанию: 163840
Если количество строк, которые необходимо прочитать из файла таблицы MergeTree, превышает merge_tree_min_rows_for_concurrent_read
, ClickHouse пытается выполнять параллельное чтение из этого файла в нескольких потоках.
Возможные значения:
- Положительное целое число.
merge_tree_min_rows_for_concurrent_read_for_remote_filesystem
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество строк для чтения из одного файла перед тем, как движок MergeTree может параллелизировать чтение, при чтении из удалённой файловой системы. Мы не рекомендуем использовать эту настройку.
Возможные значения:
- Положительное целое число.
merge_tree_min_rows_for_seek
Тип: UInt64
Значение по умолчанию: 0
Если расстояние между двумя блоками данных, которые необходимо прочитать из одного файла, меньше, чем merge_tree_min_rows_for_seek
строк, ClickHouse не перемещается по файлу, а последовательно считывает данные.
Возможные значения:
- Любое положительное целое число.
merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability
Тип: Float
Значение по умолчанию: 0
Для тестирования 'PartsSplitter' - разделить диапазоны чтения на пересекающиеся и непересекающиеся каждый раз, когда вы читаете из MergeTree с заданной вероятностью.
merge_tree_use_const_size_tasks_for_remote_reading
Тип: Bool
Значение по умолчанию: 1
Использовать ли задачи постоянного размера для чтения из удалённой таблицы.
merge_tree_use_deserialization_prefixes_cache
Тип: Bool
Значение по умолчанию: 1
Включает кэширование метаданных колонок из префиксов файла при чтении из широкой части в MergeTree.
merge_tree_use_prefixes_deserialization_thread_pool
Тип: Bool
Значение по умолчанию: 1
Включает использование пула потоков для параллельного чтения префиксов в широких частях в MergeTree. Размер этого пула потоков контролируется настройкой сервера max_prefixes_deserialization_thread_pool_size
.
merge_tree_use_v1_object_and_dynamic_serialization
Тип: Bool
Значение по умолчанию: 0
При включении будет использоваться версия сериализации V1 типов JSON и Dynamic в MergeTree вместо V2. Изменение этой настройки вступает в силу только после перезапуска сервера.
metrics_perf_events_enabled
Тип: Bool
Значение по умолчанию: 0
Если включено, некоторые события производительности будут измеряться на протяжении выполнения запросов.
metrics_perf_events_list
Тип: String
Значение по умолчанию:
Запятая, разделённый список метрик производительности, которые будут измеряться на протяжении выполнения запросов. Пустой список означает все события. См. PerfEventInfo в источниках для доступных событий.
min_bytes_to_use_direct_io
Тип: UInt64
Значение по умолчанию: 0
Минимальный объём данных, необходимый для использования прямого доступа к I/O к диску хранения.
ClickHouse использует эту настройку при чтении данных из таблиц. Если общий объём хранения всех данных, которые необходимо прочитать, превышает min_bytes_to_use_direct_io
байт, то ClickHouse читает данные с диска хранения с параметром O_DIRECT
.
Возможные значения:
- 0 — Прямой доступ к I/O отключен.
- Положительное целое число.
min_bytes_to_use_mmap_io
Тип: UInt64
Значение по умолчанию: 0
Это экспериментальная настройка. Устанавливает минимальное количество памяти для чтения больших файлов без копирования данных из ядра в пространство пользователя. Рекомендуемый порог составляет около 64 МБ, потому что mmap/munmap медленное. Это имеет смысл только для больших файлов и помогает только в случае, если данные находятся в кэше страниц.
Возможные значения:
- Положительное целое число.
- 0 — Большие файлы читаются только с копированием данных из ядра в пространство пользователя.
min_chunk_bytes_for_parallel_parsing
Тип: NonZeroUInt64
Значение по умолчанию: 10485760
- Тип: беззнаковое целое число
- Значение по умолчанию: 1 MiB
Минимальный размер чанка в байтах, который каждый поток будет разбирать параллельно.
min_compress_block_size
Тип: UInt64
Значение по умолчанию: 65536
Для MergeTree таблиц. Чтобы уменьшить задержку при обработке запросов, блок сжимается, когда записывается следующая метка, если его размер составляет не менее min_compress_block_size
. По умолчанию 65,536.
Фактический размер блока, если не сжатые данные меньше max_compress_block_size
, не меньше этого значения и не меньше объёма данных для одной метки.
Рассмотрим пример. Предположим, что index_granularity
был установлен на 8192 при создании таблицы.
Мы записываем колонку типа UInt32 (4 байта на значение). При записи 8192 строк общий объём составит 32 КБ данных. Поскольку min_compress_block_size = 65,536, сжатый блок будет сформирован для каждой двух меток.
Мы записываем колонку URL с типом String (средний размер 60 байт на значение). При записи 8192 строк средний объём будет чуть меньше 500 КБ данных. Поскольку это больше 65,536, сжатый блок будет сформирован для каждой метки. В этом случае, при чтении данных с диска в диапазоне одной метки, дополнительные данные не будут распакованы.
Это настройка высокого уровня, и вам не следует её изменять, если вы только начинаете работу с ClickHouse.
min_count_to_compile_aggregate_expression
Тип: UInt64
Значение по умолчанию: 3
Минимальное количество идентичных агрегатных выражений для начала JIT-компиляции. Работает только если включена настройка compile_aggregate_expressions.
Возможные значения:
- Положительное целое число.
- 0 — Идентичные агрегатные выражения всегда JIT-компилируются.
min_count_to_compile_expression
Тип: UInt64
Значение по умолчанию: 3
Минимальное количество раз выполнения одного и того же выражения, прежде чем оно будет скомпилировано.
min_count_to_compile_sort_description
Тип: UInt64
Значение по умолчанию: 3
Количество идентичных описаний сортировки, прежде чем они будут JIT-смещены.
min_execution_speed
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество выполняемых строк в секунду.
min_execution_speed_bytes
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество выполняемых байт в секунду.
min_external_sort_block_bytes
Тип: UInt64
Значение по умолчанию: 104857600
Минимальный размер блока в байтах для внешней сортировки, который будет сброшен на диск, чтобы избежать слишком большого количества файлов.
min_external_table_block_size_bytes
Тип: UInt64
Значение по умолчанию: 268402944
Сжимайте блоки, переданные внешней таблице к указанному размеру в байтах, если блоки недостаточно велики.
min_external_table_block_size_rows
Тип: UInt64
Значение по умолчанию: 1048449
Сжимайте блоки, переданные внешней таблице к указанному размеру в строках, если блоки недостаточно велики.
min_free_disk_bytes_to_perform_insert
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество свободного места на диске в байтах для выполнения вставки.
min_free_disk_ratio_to_perform_insert
Тип: Float
Значение по умолчанию: 0
Минимальное соотношение свободного места на диске для выполнения вставки.
min_free_disk_space_for_temporary_data
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество места на диске для сохранения во время записи временных данных, используемых во внешней сортировке и агрегации.
min_hit_rate_to_use_consecutive_keys_optimization
Тип: Float
Значение по умолчанию: 0.5
Минимальная частота попаданий кэша, которая используется для оптимизации последовательных ключей в агрегации, чтобы она оставалась включенной.
min_insert_block_size_bytes
Тип: UInt64
Значение по умолчанию: 268402944
Устанавливает минимальное количество байтов в блоке, который можно вставить в таблицу с помощью запроса INSERT
. Блоки меньшего размера сжимаются в более крупные.
Возможные значения:
- Положительное целое число.
- 0 — Сжатие отключено.
min_insert_block_size_bytes_for_materialized_views
Тип: UInt64
Значение по умолчанию: 0
Устанавливает минимальное количество байтов в блоке, который можно вставить в таблицу с помощью запроса INSERT
. Блоки меньшего размера сжимаются в более крупные. Этот параметр применяется только к блокам, вставленным в материализованное представление. Настраивая этот параметр, вы контролируете сжатие блоков при отправке в материализованное представление и избегаете чрезмерного использования памяти.
Возможные значения:
- Любое положительное целое число.
- 0 — Сжатие отключено.
См. также
min_insert_block_size_rows
Тип: UInt64
Значение по умолчанию: 1048449
Устанавливает минимальное количество строк в блоке, который можно вставить в таблицу с помощью запроса INSERT
. Блоки меньшего размера сжимаются в более крупные.
Возможные значения:
- Положительное целое число.
- 0 — Сжатие отключено.
min_insert_block_size_rows_for_materialized_views
Тип: UInt64
Значение по умолчанию: 0
Устанавливает минимальное количество строк в блоке, которое может быть вставлено в таблицу с помощью INSERT
запроса. Блоки меньшего размера объединяются в более крупные. Эта настройка применяется только для блоков, вставляемых в материализованное представление. Настраивая эту опцию, вы контролируете объединение блоков при отправке в материализованное представление и избегаете чрезмерного использования памяти.
Допустимые значения:
- Любое положительное целое число.
- 0 — Объединение отключено.
См. Также
min_joined_block_size_bytes
Тип: UInt64
Значение по умолчанию: 524288
Минимальный размер блока для результата JOIN (если алгоритм объединения это поддерживает). 0 означает без ограничений.
mongodb_throw_on_unsupported_query
Тип: Bool
Значение по умолчанию: 1
Если включено, таблицы MongoDB вернут ошибку, когда запрос MongoDB не может быть построен. В противном случае ClickHouse считывает всю таблицу и обрабатывает ее локально. Эта опция не применяется к устаревшей реализации или когда 'allow_experimental_analyzer=0'.
move_all_conditions_to_prewhere
Тип: Bool
Значение по умолчанию: 1
Переместите все подходящие условия из WHERE в PREWHERE.
move_primary_key_columns_to_end_of_prewhere
Тип: Bool
Значение по умолчанию: 1
Переместить условия PREWHERE, содержащие колонки первичного ключа, в конец цепочки AND. С высокой вероятностью эти условия учитываются при анализе первичного ключа и, таким образом, не будут сильно способствовать фильтрации в PREWHERE.
multiple_joins_try_to_keep_original_names
Тип: Bool
Значение по умолчанию: 0
Не добавлять псевдонимы в список выражений верхнего уровня при переписывании нескольких объединений.
mutations_execute_nondeterministic_on_initiator
Тип: Bool
Значение по умолчанию: 0
Если true, постоянные недетерминированные функции (например, функция now()
) выполняются на инициаторе и заменяются литералами в UPDATE
и DELETE
запросах. Это помогает поддерживать синхронизацию данных на репликах при выполнении мутаций с постоянными недетерминированными функциями. Значение по умолчанию: false
.
mutations_execute_subqueries_on_initiator
Тип: Bool
Значение по умолчанию: 0
Если true, скалярные подзапросы выполняются на инициаторе и заменяются литералами в UPDATE
и DELETE
запросах. Значение по умолчанию: false
.
mutations_max_literal_size_to_replace
Тип: UInt64
Значение по умолчанию: 16384
Максимальный размер сериализованного литерала в байтах для замены в UPDATE
и DELETE
запросах. Действует только если хотя бы одна из двух вышеуказанных опций включена. Значение по умолчанию: 16384 (16 KiB).
mutations_sync
Тип: UInt64
Значение по умолчанию: 0
Позволяет выполнять запросы ALTER TABLE ... UPDATE|DELETE|MATERIALIZE INDEX|MATERIALIZE PROJECTION|MATERIALIZE COLUMN|MATERIALIZE STATISTICS
(мутации) синхронно.
Допустимые значения:
- 0 - Мутации выполняются асинхронно.
- 1 - Запрос ждет завершения всех мутаций на текущем сервере.
- 2 - Запрос ждет завершения всех мутаций на всех репликах (если они существуют).
mysql_datatypes_support_level
Тип: MySQLDataTypesSupport
Значение по умолчанию:
Определяет, как типы MySQL преобразуются в соответствующие типы ClickHouse. Список, разделенный запятыми, в любом сочетании decimal
, datetime64
, date2Date32
или date2String
.
decimal
: преобразуетNUMERIC
иDECIMAL
типы вDecimal
, если это позволяет точность.datetime64
: преобразуетDATETIME
иTIMESTAMP
типы вDateTime64
, а не вDateTime
, если точность не равна0
.date2Date32
: преобразуетDATE
вDate32
, а не вDate
. Имеет приоритет надdate2String
.date2String
: преобразуетDATE
вString
, а не вDate
. Перекрываетсяdatetime64
.
mysql_map_fixed_string_to_text_in_show_columns
Тип: Bool
Значение по умолчанию: 1
Когда включено, тип данных ClickHouse FixedString будет отображаться как TEXT
в SHOW COLUMNS.
Действует только в том случае, если соединение установлено через протокол MySQL.
- 0 - Использовать
BLOB
. - 1 - Использовать
TEXT
.
mysql_map_string_to_text_in_show_columns
Тип: Bool
Значение по умолчанию: 1
Когда включено, тип данных ClickHouse String будет отображаться как TEXT
в SHOW COLUMNS.
Действует только в том случае, если соединение установлено через протокол MySQL.
- 0 - Использовать
BLOB
. - 1 - Использовать
TEXT
.
mysql_max_rows_to_insert
Тип: UInt64
Значение по умолчанию: 65536
Максимальное количество строк при пакетной вставке в MySQL хранилище данных.
network_compression_method
Тип: String
Значение по умолчанию: LZ4
Устанавливает метод сжатия данных, который используется для связи между серверами и между сервером и clickhouse-client.
Допустимые значения:
LZ4
— устанавливает метод сжатия LZ4.ZSTD
— устанавливает метод сжатия ZSTD.
См. Также
network_zstd_compression_level
Тип: Int64
Значение по умолчанию: 1
Настраивает уровень сжатия ZSTD. Используется только тогда, когда network_compression_method установлен на ZSTD
.
Допустимые значения:
- Положительное целое число от 1 до 15.
normalize_function_names
Тип: Bool
Значение по умолчанию: 1
Нормализует имена функций до их канонических имен.
number_of_mutations_to_delay
Тип: UInt64
Значение по умолчанию: 0
Если измененная таблица содержит как минимум столько незаконченных мутаций, искусственно замедляет мутации таблицы. 0 - отключено.
number_of_mutations_to_throw
Тип: UInt64
Значение по умолчанию: 0
Если измененная таблица содержит как минимум столько незаконченных мутаций, выбрасывает исключение 'Слишком много мутаций ...'. 0 - отключено.
odbc_bridge_connection_pool_size
Тип: UInt64
Значение по умолчанию: 16
Размер пула соединений для каждой строки настроек соединения в ODBC мосту.
odbc_bridge_use_connection_pooling
Тип: Bool
Значение по умолчанию: 1
Использовать пул соединений в ODBC мосту. Если установлено в false, создается новое соединение каждый раз.
offset
Тип: UInt64
Значение по умолчанию: 0
Устанавливает количество строк, которые нужно пропустить, прежде чем начать возвращать строки из запроса. Он корректирует смещение, установленное с помощью OFFSET условия, так что эти два значения суммируются.
Допустимые значения:
- 0 — Нет пропуска строк.
- Положительное целое число.
Пример
Исходная таблица:
Запрос:
Результат:
opentelemetry_start_trace_probability
Тип: Float
Значение по умолчанию: 0
Устанавливает вероятность того, что ClickHouse может начать трассировку для выполненных запросов (если не указан родительский контекст трассировки).
Допустимые значения:
- 0 — Трассировка для всех выполненных запросов отключена (если не указан родительский контекст трассировки).
- Положительное число с плавающей запятой в диапазоне [0..1]. Например, если значение настройки равно
0,5
, ClickHouse может начать трассировку в среднем для половины запросов. - 1 — Трассировка для всех выполненных запросов включена.
opentelemetry_trace_processors
Тип: Bool
Значение по умолчанию: 0
Собирать OpenTelemetry диапазоны для процессоров.
optimize_aggregation_in_order
Тип: Bool
Значение по умолчанию: 0
Включает оптимизацию GROUP BY в SELECT запросах для агрегации данных в соответствующем порядке в MergeTree таблицах.
Допустимые значения:
- 0 — Оптимизация
GROUP BY
отключена. - 1 — Оптимизация
GROUP BY
включена.
См. Также
optimize_aggregators_of_group_by_keys
Тип: Bool
Значение по умолчанию: 1
Устранение аггрегаторов min/max/any/anyLast ключей GROUP BY в разделе SELECT.
optimize_and_compare_chain
Тип: Bool
Значение по умолчанию: 1
Заполняет константное сравнение в цепочках AND для увеличения фильтрации. Поддерживает операторы <
, <=
, >
, >=
, =
и их комбинации. Например, (a < b) AND (b < c) AND (c < 5)
станет (a < b) AND (b < c) AND (c < 5) AND (b < 5) AND (a < 5)
.
optimize_append_index
Тип: Bool
Значение по умолчанию: 0
Использует ограничения для добавления условия индекса. Значение по умолчанию false
.
Допустимые значения:
- true, false
optimize_arithmetic_operations_in_aggregate_functions
Тип: Bool
Значение по умолчанию: 1
Перемещает арифметические операции из агрегатных функций.
optimize_count_from_files
Тип: Bool
Значение по умолчанию: 1
Включает или отключает оптимизацию количества строк из файлов в различных форматах ввода. Это применяется к функциям/движкам таблиц file
/s3
/url
/hdfs
/azureBlobStorage
.
Допустимые значения:
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
optimize_distinct_in_order
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию DISTINCT, если некоторые колонки в DISTINCT образуют префикс сортировки. Например, префикс ключа сортировки в merge tree или выражение ORDER BY.
optimize_distributed_group_by_sharding_key
Тип: Bool
Значение по умолчанию: 1
Оптимизация GROUP BY sharding_key
запросов, избегая дорогостоящей агрегации на сервере инициаторе (что снизит использование памяти для этого запроса на сервере инициаторе).
Поддерживаются следующие типы запросов (и все их комбинации):
SELECT DISTINCT [..., ]sharding_key[, ...] FROM dist
SELECT ... FROM dist GROUP BY sharding_key[, ...]
SELECT ... FROM dist GROUP BY sharding_key[, ...] ORDER BY x
SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1
SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1 BY x
Не поддерживаются следующие типы запросов (поддержка некоторых из них может быть добавлена позже):
SELECT ... GROUP BY sharding_key[, ...] WITH TOTALS
SELECT ... GROUP BY sharding_key[, ...] WITH ROLLUP
SELECT ... GROUP BY sharding_key[, ...] WITH CUBE
SELECT ... GROUP BY sharding_key[, ...] SETTINGS extremes=1
Допустимые значения:
- 0 — Отключено.
- 1 — Включено.
См. также:
На данный момент это требует optimize_skip_unused_shards
(причина в том, что однажды это может быть включено по умолчанию, и будет работать корректно только если данные были вставлены через распределенную таблицу, т.е. данные распределены в соответствии с ключом шардирования).
optimize_extract_common_expressions
Тип: Bool
Значение по умолчанию: 1
Позволяет извлекать общие выражения из дизъюнкций в WHERE, PREWHERE, ON, HAVING и QUALIFY выражениях. Логическое выражение, такое как (A AND B) OR (A AND C)
, может быть переписано как A AND (B OR C)
, что может помочь использовать:
- индексы в простых фильтрах
- оптимизацию перекрестного внутреннего соединения.
optimize_functions_to_subcolumns
Тип: Bool
Значение по умолчанию: 1
Включает или отключает оптимизацию, преобразовывая некоторые функции для чтения подколонок. Это сокращает объем данных для чтения.
Эти функции могут быть преобразованы:
- length для чтения подколонки size0.
- empty для чтения подколонки size0.
- notEmpty для чтения подколонки size0.
- isNull для чтения подколонки null.
- isNotNull для чтения подколонки null.
- count для чтения подколонки null.
- mapKeys для чтения подколонки keys.
- mapValues для чтения подколонки values.
Допустимые значения:
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
optimize_group_by_constant_keys
Тип: Bool
Значение по умолчанию: 1
Оптимизация GROUP BY, когда все ключи в блоке являются константами.
optimize_group_by_function_keys
Тип: Bool
Значение по умолчанию: 1
Устранение функций других ключей в разделе GROUP BY.
optimize_if_chain_to_multiif
Тип: Bool
Значение по умолчанию: 0
Заменяет цепочки if(cond1, then1, if(cond2, ...)) на multiIf. В настоящее время это не выгодно для числовых типов.
optimize_if_transform_strings_to_enum
Тип: Bool
Значение по умолчанию: 0
Заменяет аргументы строкового типа в If и Transform на enum. Выключено по умолчанию, поскольку это может привести к несогласованному изменению в распределенном запросе, что приведет к его сбою.
optimize_injective_functions_in_group_by
Тип: Bool
Значение по умолчанию: 1
Заменяет инъективные функции их аргументами в разделе GROUP BY.
optimize_injective_functions_inside_uniq
Тип: Bool
Значение по умолчанию: 1
Удаляет инъективные функции с одним аргументом внутри функций uniq*().
optimize_min_equality_disjunction_chain_length
Тип: UInt64
Значение по умолчанию: 3
Минимальная длина выражения expr = x1 OR ... expr = xN
для оптимизации.
optimize_min_inequality_conjunction_chain_length
Тип: UInt64
Значение по умолчанию: 3
Минимальная длина выражения expr <> x1 AND ... expr <> xN
для оптимизации.
optimize_move_to_prewhere
Тип: Bool
Значение по умолчанию: 1
Включает или отключает автоматическую оптимизацию PREWHERE в SELECT запросах.
Действует только для *MergeTree таблиц.
Допустимые значения:
- 0 — Автоматическая оптимизация
PREWHERE
отключена. - 1 — Автоматическая оптимизация
PREWHERE
включена.
optimize_move_to_prewhere_if_final
Тип: Bool
Значение по умолчанию: 0
Включает или отключает автоматическую оптимизацию PREWHERE в SELECT запросах с модификатором FINAL.
Действует только для *MergeTree таблиц.
Допустимые значения:
- 0 — Автоматическая оптимизация
PREWHERE
вSELECT
запросах с модификаторомFINAL
отключена. - 1 — Автоматическая оптимизация
PREWHERE
вSELECT
запросах с модификаторомFINAL
включена.
См. Также
- оптимизация_move_to_prewhere установка.
optimize_multiif_to_if
Тип: Bool
Значение по умолчанию: 1
Заменяет 'multiIf' с единственным условием на 'if'.
optimize_normalize_count_variants
Тип: Bool
Значение по умолчанию: 1
Переписывает агрегатные функции, которые семантически равны count() как count().
optimize_on_insert
Тип: Bool
Значение по умолчанию: 1
Включает или отключает преобразование данных перед вставкой, так как если слияние было выполнено над этим блоком (в соответствии с движком таблицы).
Допустимые значения:
- 0 — Выключено.
- 1 — Включено.
Пример
Разница между включенным и отключенным:
Запрос:
Результат:
Обратите внимание, что эта настройка влияет на поведение Материализованного представления.
optimize_or_like_chain
Тип: Bool
Значение по умолчанию: 0
Оптимизирует множество OR LIKE в multiMatchAny. Эта оптимизация не должна быть включена по умолчанию, потому что она нарушает анализ индексов в некоторых случаях.
optimize_read_in_order
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию ORDER BY в SELECT запросах для чтения данных из MergeTree таблиц.
Допустимые значения:
- 0 — Оптимизация
ORDER BY
отключена. - 1 — Оптимизация
ORDER BY
включена.
См. Также
optimize_read_in_window_order
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию ORDER BY в оконном клаузуле для чтения данных в соответствующем порядке в таблицах MergeTree.
optimize_redundant_functions_in_order_by
Тип: Bool
Значение по умолчанию: 1
Удаляет функции из ORDER BY, если его аргумент также в ORDER BY.
optimize_respect_aliases
Тип: Bool
Значение по умолчанию: 1
Если установлено в true, будет применяться к псевдонимам в WHERE/GROUP BY/ORDER BY, что поможет с обрезкой партиций/вторичными индексами/оптимизациями_агрегации_po_poradku/оптимизациями_чтения_po_poradku/оптимизациями_тривиального_счета.
optimize_rewrite_aggregate_function_with_if
Тип: Bool
Значение по умолчанию: 1
Переписывает агрегатные функции с выражением if в качестве аргумента, когда они логически эквивалентны. Например, avg(if(cond, col, null))
может быть переписано как avgOrNullIf(cond, col)
. Это может улучшить производительность.
Поддерживается только с анализатором (enable_analyzer = 1
).
optimize_rewrite_array_exists_to_has
Тип: Bool
Значение по умолчанию: 0
Переписывает функции arrayExists() в has(), когда они логически эквивалентны. Например, arrayExists(x -> x = 1, arr) может быть переписано в has(arr, 1).
optimize_rewrite_sum_if_to_count_if
Тип: Bool
Значение по умолчанию: 1
Переписывает функции sumIf() и sum(if()) как функции countIf(), когда они логически эквивалентны.
optimize_skip_merged_partitions
Тип: Bool
Значение по умолчанию: 0
Включает или отключает оптимизацию для запроса OPTIMIZE TABLE ... FINAL, если есть только одна часть с уровнем > 0 и у нее нет истекшего TTL.
OPTIMIZE TABLE ... FINAL SETTINGS optimize_skip_merged_partitions=1
По умолчанию запрос OPTIMIZE TABLE ... FINAL
переписывает одну часть, даже если есть только одна часть.
Допустимые значения:
- 1 - Включить оптимизацию.
- 0 - Отключить оптимизацию.
optimize_skip_unused_shards
Тип: Bool
Значение по умолчанию: 0
Включает или отключает пропуск неиспользуемых шард для SELECT запросов, которые имеют условие по ключу шардирования в WHERE/PREWHERE
(предполагая, что данные распределены по ключу шардирования, в противном случае запрос даст неверный результат).
Допустимые значения:
- 0 — Отключено.
- 1 — Включено.
optimize_skip_unused_shards_limit
Тип: UInt64
Значение по умолчанию: 1000
Лимит для числа значений ключа шардирования, отключает optimize_skip_unused_shards
, если лимит превышен.
Слишком много значений может потребовать значительного объема обработки, в то время как выгода сомнительна, поскольку если у вас много значений в IN (...)
, то скорее всего запрос все равно будет отправлен на все шары.
optimize_skip_unused_shards_nesting
Тип: UInt64
Значение по умолчанию: 0
Управляет optimize_skip_unused_shards
(поэтому по-прежнему требует optimize_skip_unused_shards
) в зависимости от уровня вложенности распределенного запроса (случай, когда у вас есть распределенная таблица, которая смотрит на другую распределенную таблицу).
Допустимые значения:
- 0 — Отключено,
optimize_skip_unused_shards
работает всегда. - 1 — Включает
optimize_skip_unused_shards
только для первого уровня. - 2 — Включает
optimize_skip_unused_shards
до второго уровня.
optimize_skip_unused_shards_rewrite_in
Тип: Bool
Значение по умолчанию: 1
Переписывает IN в запрос для удаленных шард, чтобы исключить значения, которые не принадлежат шару (требует optimize_skip_unused_shards).
Допустимые значения:
- 0 — Отключено.
- 1 — Включено.
optimize_sorting_by_input_stream_properties
Тип: Bool
Значение по умолчанию: 1
Оптимизирует сортировку по свойствам входного потока.
optimize_substitute_columns
Тип: Bool
Значение по умолчанию: 0
Использует ограничения для замены колонок. Значение по умолчанию false
.
Допустимые значения:
- true, false
optimize_syntax_fuse_functions
Тип: Bool
Значение по умолчанию: 0
Включает возможность объединять агрегатные функции с идентичным аргументом. Он переписывает запрос с как минимум двумя агрегатными функциями из sum, count или avg с идентичным аргументом в sumCount.
Допустимые значения:
- 0 — Функции с идентичным аргументом не объединяются.
- 1 — Функции с идентичным аргументом объединяются.
Пример
Запрос:
Результат:
optimize_throw_if_noop
Тип: Bool
Значение по умолчанию: 0
Включает или отключает выброс исключения, если запрос OPTIMIZE не выполнил слияние.
По умолчанию OPTIMIZE
возвращает успешно, даже если ничего не сделано. Эта настройка позволяет вам различать эти ситуации и получать причину в сообщении об исключении.
Допустимые значения:
- 1 — Включен выброс исключения.
- 0 — Выброс исключения отключен.
optimize_time_filter_with_preimage
Тип: Bool
Значение по умолчанию: 1
Оптимизация предикатов Date и DateTime путем преобразования функций в эквивалентные сравнения без преобразований (например, toYear(col) = 2023 -> col >= '2023-01-01' AND col <= '2023-12-31'
).
optimize_trivial_approximate_count_query
Тип: Bool
Значение по умолчанию: 0
Используйте приближенное значение для тривиальной оптимизации подсчета хранилищ, которые поддерживают такую оценку, например, EmbeddedRocksDB.
Допустимые значения:
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
optimize_trivial_count_query
Тип: Bool
Значение по умолчанию: 1
Включает или отключает оптимизацию для тривиального запроса SELECT count() FROM table
, используя метаданные из MergeTree. Если вам нужно использовать безопасность на уровне строк, отключите эту настройку.
Допустимые значения:
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
См. также:
optimize_trivial_insert_select
Тип: Bool
Значение по умолчанию: 0
Оптимизирует тривиальный запрос 'INSERT INTO table SELECT ... FROM TABLES'.
optimize_uniq_to_count
Тип: Bool
Значение по умолчанию: 1
Переписывает uniq и его варианты (кроме uniqUpTo) в count, если подзапрос содержит DISTINCT или GROUP BY клаузу.
optimize_use_implicit_projections
Тип: Bool
Значение по умолчанию: 1
Автоматически выбирает неявные проекции для выполнения запроса SELECT.
optimize_use_projections
Тип: Bool
Значение по умолчанию: 1
Включает или отключает оптимизацию проекции при обработке SELECT
запросов.
Допустимые значения:
- 0 — Оптимизация проекции отключена.
- 1 — Оптимизация проекции включена.
optimize_using_constraints
Тип: Bool
Значение по умолчанию: 0
Использует ограничения для оптимизации запросов. Значение по умолчанию false
.
Допустимые значения:
- true, false
os_thread_priority
Тип: Int64
Значение по умолчанию: 0
Устанавливает приоритет (nice) для потоков, выполняющих запросы. Планировщик ОС учитывает этот приоритет при выборе следующего потока для выполнения на каждом доступном ядре CPU.
Чтобы использовать эту настройку, необходимо установить право CAP_SYS_NICE
. Пакет clickhouse-server
настраивает это во время установки. Некоторые виртуальные среды не позволяют устанавливать право CAP_SYS_NICE
. В этом случае clickhouse-server
показывает сообщение об этом в начале.
Допустимые значения:
- Вы можете установить значения в диапазоне
[-20, 19]
.
Низкие значения означают более высокий приоритет. Потоки с низкими значениями приоритета nice
выполняются чаще, чем потоки с высокими значениями. Высокие значения предпочтительны для длительных неинтерактивных запросов, так как они позволяют быстро уступить ресурсы коротким интерактивным запросам, когда они приходят.
output_format_compression_level
Тип: UInt64
Значение по умолчанию: 3
Уровень сжатия по умолчанию, если вывод запроса сжат. Настройка применяется, когда запрос SELECT
имеет INTO OUTFILE
или при записи в функции таблицы file
, url
, hdfs
, s3
, или azureBlobStorage
.
Допустимые значения: от 1
до 22
.
output_format_compression_zstd_window_log
Тип: UInt64
Значение по умолчанию: 0
Может использоваться, когда метод сжатия вывода zstd
. Если больше 0
, эта настройка явно устанавливает размер окна сжатия (степень 2
) и включает режим длинного диапазона для сжатия zstd. Это может помочь достичь лучшего коэффициента сжатия.
Допустимые значения: неотрицательные числа. Обратите внимание, что если значение слишком маленькое или слишком большое, zstdlib
выбросит исключение. Типичные значения от 20
(размер окна = 1MB
) до 30
(размер окна = 1GB
).
output_format_parallel_formatting
Тип: Bool
Значение по умолчанию: 1
Включает или отключает параллельное форматирование форматов данных. Поддерживается только для форматов TSV, TSKV, CSV и JSONEachRow форматов.
Допустимые значения:
- 1 — Включено.
- 0 — Отключено.
page_cache_inject_eviction
Тип: Bool
Значение по умолчанию: 0
Кэш страниц пользовательского пространства иногда будет случайным образом аннулировать некоторые страницы. Предназначено для тестирования.
parallel_distributed_insert_select
Тип: UInt64
Значение по умолчанию: 0
Включает параллельный распределенный INSERT ... SELECT
запрос.
Если мы выполняем запросы INSERT INTO distributed_table_a SELECT ... FROM distributed_table_b
и обе таблицы используют один и тот же кластер, и обе таблицы либо реплицированные, либо нереплицированные, тогда этот запрос обрабатывается локально на каждом шарде.
Возможные значения:
- 0 — Отключено.
- 1 —
SELECT
будет выполняться на каждом шарде из базовой таблицы распределенного движка. - 2 —
SELECT
иINSERT
будут выполняться на каждом шарде из/в базовую таблицу распределенного движка.
parallel_replica_offset
Тип: UInt64
Значение по умолчанию: 0
Это внутренняя настройка, которую не следует использовать напрямую, и она представляет собой деталь реализации режима «параллельные реплики». Эта настройка будет автоматически настроена инициирующим сервером для распределенных запросов по индексу реплики, участвующей в обработке запроса среди параллельных реплик.
parallel_replicas_allow_in_with_subquery
Тип: Bool
Значение по умолчанию: 1
Если истинно, подзапрос для IN будет выполняться на каждой последующей реплике.
parallel_replicas_count
Тип: UInt64
Значение по умолчанию: 0
Это внутренняя настройка, которую не следует использовать напрямую, и она представляет собой деталь реализации режима «параллельные реплики». Эта настройка будет автоматически настроена инициирующим сервером для распределенных запросов для числа параллельных реплик, участвующих в обработке запроса.
parallel_replicas_custom_key
Тип: String
Значение по умолчанию:
Произвольное целочисленное выражение, которое можно использовать для распределения работы между репликами для конкретной таблицы. Значение может быть любым целочисленным выражением.
Предпочтительны простые выражения с использованием первичных ключей.
Если настройка используется в кластере, состоящем из одного шарда с несколькими репликами, эти реплики будут преобразованы в виртуальные шарды. В противном случае она будет вести себя так же, как для ключа SAMPLE
, будет использовать несколько реплик каждого шарда.
parallel_replicas_custom_key_range_lower
Тип: UInt64
Значение по умолчанию: 0
Разрешает фильтру типа range
равномерно распределять работу между репликами на основе пользовательского диапазона [parallel_replicas_custom_key_range_lower, INT_MAX]
.
При использовании в сочетании с parallel_replicas_custom_key_range_upper, позволяет фильтру равномерно распределять работу по репликам для диапазона [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]
.
Примечание: Эта настройка не вызовет фильтрацию дополнительных данных во время обработки запроса, а изменяет точки, в которых диапазон фильтра разбивает диапазон [0, INT_MAX]
для параллельной обработки.
parallel_replicas_custom_key_range_upper
Тип: UInt64
Значение по умолчанию: 0
Разрешает фильтру типа range
равномерно распределять работу между репликами на основе пользовательского диапазона [0, parallel_replicas_custom_key_range_upper]
. Значение 0 отключает верхнюю границу, устанавливая это значение в максимальное значение выражения пользовательского ключа.
При использовании в сочетании с parallel_replicas_custom_key_range_lower, позволяет фильтру равномерно распределять работу по репликам для диапазона [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]
.
Примечание: Эта настройка не вызовет фильтрацию дополнительных данных во время обработки запроса, а изменяет точки, в которых диапазон фильтра разбивает диапазон [0, INT_MAX]
для параллельной обработки.
parallel_replicas_for_non_replicated_merge_tree
Тип: Bool
Значение по умолчанию: 0
Если истинно, ClickHouse будет использовать алгоритм параллельных реплик также для нереплицированных таблиц MergeTree.
parallel_replicas_index_analysis_only_on_coordinator
Тип: Bool
Значение по умолчанию: 1
Анализ индекса выполняется только на реплике-координаторе и пропускается на других репликах. Эффективно только с включенным parallel_replicas_local_plan.
parallel_replicas_local_plan
Тип: Bool
Значение по умолчанию: 1
Создание локального плана для локальной реплики.
parallel_replicas_mark_segment_size
Тип: UInt64
Значение по умолчанию: 0
Части виртуально разделены на сегменты для распределения между репликами для параллельного чтения. Эта настройка контролирует размер этих сегментов. Не рекомендуется изменять, пока вы не уверены на 100% в том, что делаете. Значение должно быть в диапазоне [128; 16384].
parallel_replicas_min_number_of_rows_per_replica
Тип: UInt64
Значение по умолчанию: 0
Ограничивает количество реплик, используемых в запросе (предполагаемое количество строк для чтения / min_number_of_rows_per_replica). Максимальное количество всё еще ограничено параметром 'max_parallel_replicas'.
parallel_replicas_mode
Тип: ParallelReplicasMode
Значение по умолчанию: read_tasks
Тип фильтра, который следует использовать с пользовательским ключом для параллельных реплик. по умолчанию — использование операции модуля на пользовательском ключе, диапазон — использование диапазонного фильтра на пользовательском ключе с использованием всех возможных значений для типа значения пользовательского ключа.
parallel_replicas_only_with_analyzer
Тип: Bool
Значение по умолчанию: 1
Анализатор должен быть включен для использования параллельных реплик. При отключенном анализаторе выполнение запроса возвращается к локальному выполнению, даже если параллельное чтение из реплик включено. Использование параллельных реплик без включенного анализатора не поддерживается.
parallel_replicas_prefer_local_join
Тип: Bool
Значение по умолчанию: 1
Если истинно, и JOIN может быть выполнен с использованием алгоритма параллельных реплик, и все хранилища правой части JOIN являются *MergeTree, будет использоваться локальный JOIN вместо GLOBAL JOIN.
parallel_view_processing
Тип: Bool
Значение по умолчанию: 0
Включает одновременную отправку в прикрепленные представления вместо последовательной.
parallelize_output_from_storages
Тип: Bool
Значение по умолчанию: 1
Параллелизация вывода на этапе чтения из хранилища. Это позволяет параллелизовать обработку запроса сразу после чтения из хранилища, если это возможно.
parsedatetime_parse_without_leading_zeros
Тип: Bool
Значение по умолчанию: 1
Форматтеры '%c', '%l' и '%k' в функции 'parseDateTime' парсят месяцы и часы без ведущих нулей.
partial_merge_join_left_table_buffer_bytes
Тип: UInt64
Значение по умолчанию: 0
Если не 0, группирует блоки левой таблицы в большие для левой стороны таблицы в частичном объединении. Использует до 2x указанной памяти на поток соединения.
partial_merge_join_rows_in_right_blocks
Тип: UInt64
Значение по умолчанию: 65536
Ограничивает размеры блоков данных правой части соединения в алгоритме частичного объединения для JOIN запросов.
Сервер ClickHouse:
- Делит данные правой части соединения на блоки с максимальным количеством строк согласно указанному количеству.
- Индексирует каждый блок по его минимальным и максимальным значениям.
- Выгружает подготовленные блоки на диск, если это возможно.
Возможные значения:
- Любое положительное целое число. Рекомендуемый диапазон значений: [1000, 100000].
partial_result_on_first_cancel
Тип: Bool
Значение по умолчанию: 0
Разрешает запросу возвращать частичный результат после отмены.
parts_to_delay_insert
Тип: UInt64
Значение по умолчанию: 0
Если целевая таблица содержит как минимум столько же активных частей в одной партиции, искусственно замедлить вставку в таблицу.
parts_to_throw_insert
Тип: UInt64
Значение по умолчанию: 0
Если в одной партиции целевой таблицы активных частей больше этого числа, выбросить исключение 'Слишком много частей ...'.
periodic_live_view_refresh
Тип: Seconds
Значение по умолчанию: 60
Интервал, после которого периодически обновляемый живой вид принудительно обновляется.
poll_interval
Тип: UInt64
Значение по умолчанию: 10
Блокировка в цикле ожидания запроса на сервере в течение указанного числа секунд.
postgresql_connection_attempt_timeout
Тип: UInt64
Значение по умолчанию: 2
Тайм-аут соединения в секундах для одной попытки подключения к конечной точке PostgreSQL. Значение передается как параметр connect_timeout
в URL подключения.
postgresql_connection_pool_auto_close_connection
Тип: Bool
Значение по умолчанию: 0
Закрыть соединение перед возвратом соединения в пул.
postgresql_connection_pool_retries
Тип: UInt64
Значение по умолчанию: 2
Количество попыток отправки/получения пула соединений для движка таблиц PostgreSQL и базы данных.
postgresql_connection_pool_size
Тип: UInt64
Значение по умолчанию: 16
Размер пула соединений для движка таблиц PostgreSQL и базы данных.
postgresql_connection_pool_wait_timeout
Тип: UInt64
Значение по умолчанию: 5000
Тайм-аут ожидания при отправке/извлечении соединения из пула для движка таблиц PostgreSQL и базы данных. По умолчанию он будет блокироваться при пустом пуле.
postgresql_fault_injection_probability
Тип: Float
Значение по умолчанию: 0
Примерная вероятность сбоя внутренних (для репликации) запросов PostgreSQL. Допустимое значение находится в диапазоне [0.0f, 1.0f].
prefer_column_name_to_alias
Тип: Bool
Значение по умолчанию: 0
Включает или отключает использование оригинальных имен колонок вместо псевдонимов в выражениях и частях запроса. Это особенно важно, когда псевдоним совпадает с именем колонки, см. Псевдонимы выражений. Включите эту настройку, чтобы сделать правила синтаксиса псевдонимов в ClickHouse более совместимыми с большинством других движков баз данных.
Возможные значения:
- 0 — Имя колонки заменяется псевдонимом.
- 1 — Имя колонки не заменяется псевдонимом.
Пример
Разница между включенной и отключенной:
Запрос:
Результат:
Запрос:
Результат:
prefer_external_sort_block_bytes
Тип: UInt64
Значение по умолчанию: 16744704
Предпочитаемое максимальное количество байт блока для внешней сортировки, уменьшает использование памяти во время слияния.
prefer_global_in_and_join
Тип: Bool
Значение по умолчанию: 0
Включает замену операторов IN
/JOIN
на GLOBAL IN
/GLOBAL JOIN
.
Возможные значения:
- 0 — Отключено. Операторы
IN
/JOIN
не заменяются наGLOBAL IN
/GLOBAL JOIN
. - 1 — Включено. Операторы
IN
/JOIN
заменяются наGLOBAL IN
/GLOBAL JOIN
.
Использование
Хотя SET distributed_product_mode=global
может изменить поведение запросов для распределенных таблиц, это не подходит для локальных таблиц или таблиц из внешних источников. Здесь на помощь приходит настройка prefer_global_in_and_join
.
Например, у нас есть узлы запросов, которые содержат локальные таблицы, которые не подходят для распределения. Нам нужно распределить их данные на лету во время распределенной обработки с помощью ключевого слова GLOBAL
— GLOBAL IN
/GLOBAL JOIN
.
Еще один случай использования prefer_global_in_and_join
— это доступ к таблицам, созданным внешними движками. Эта настройка помогает уменьшить количество вызовов внешних источников при объединении таких таблиц: только один вызов на запрос.
Смотрите также:
- Распределенные подзапросы для получения дополнительной информации о том, как использовать
GLOBAL IN
/GLOBAL JOIN
.
prefer_localhost_replica
Тип: Bool
Значение по умолчанию: 1
Включает/выключает предпочтительное использование локальной реплики при обработке распределенных запросов.
Возможные значения:
- 1 — ClickHouse всегда отправляет запрос к локальной реплике, если она существует.
- 0 — ClickHouse использует стратегию балансировки, указанную настройкой load_balancing.
Отключите эту настройку, если вы используете max_parallel_replicas без parallel_replicas_custom_key. Если parallel_replicas_custom_key установлено, отключите эту настройку только в том случае, если она используется в кластере с несколькими шардами, содержащими несколько реплик. Если она используется в кластере с одним шардом и несколькими репликами, отключение этой настройки окажет негативное влияние.
prefer_warmed_unmerged_parts_seconds
Тип: Int64
Значение по умолчанию: 0
Имеет эффект только в ClickHouse Cloud. Если объединенная часть младше этого количества секунд и не разогрета (см. cache_populated_by_fetch), но все ее исходные части доступны и разогреты, SELECT запросы будут читать из этих частей. Только для Replicated-/SharedMergeTree. Обратите внимание, что это проверяет только то, обработала ли CacheWarmer часть, если часть была извлечена в кэш чем-то другим, она все равно будет считаться холодной, пока CacheWarmer не дойдет до нее; если часть была разогрета, а затем удалена из кэша, она все равно будет считаться теплой.
preferred_block_size_bytes
Тип: UInt64
Значение по умолчанию: 1000000
Эта настройка регулирует размер блока данных для обработки запросов и представляет собой дополнительную тонкую настройку по сравнению с более грубой настройкой 'max_block_size'. Если колонки большие и с 'max_block_size' строк размер блока вероятно будет больше указанного количества байт, его размер будет уменьшен для лучшей локальности кэша CPU.
preferred_max_column_in_block_size_bytes
Тип: UInt64
Значение по умолчанию: 0
Ограничение на максимальный размер колонки в блоке при чтении. Помогает уменьшить количество промахов кэша. Должно быть близко к размеру кэша L2.
preferred_optimize_projection_name
Тип: String
Значение по умолчанию:
Если установлено в непустую строку, ClickHouse попытается применить указанную проекцию в запросе.
Возможные значения:
- строка: имя предпочитаемой проекции.
prefetch_buffer_size
Тип: UInt64
Значение по умолчанию: 1048576
Максимальный размер буфера предварительной выборки для чтения из файловой системы.
print_pretty_type_names
Тип: Bool
Значение по умолчанию: 1
Позволяет красиво выводить глубоко вложенные имена типов с отступами в запросе DESCRIBE
и в функции toTypeName()
.
Пример:
priority
Тип: UInt64
Значение по умолчанию: 0
Приоритет запроса. 1 - наивысший, более высокое значение - более низкий приоритет; 0 - не использовать приоритеты.
push_external_roles_in_interserver_queries
Тип: Bool
Значение по умолчанию: 1
Включить передачу ролей пользователей от инициатора к другим узлам при выполнении запроса.
query_cache_compress_entries
Тип: Bool
Значение по умолчанию: 1
Сжимать записи в кэше запросов. Уменьшает потребление памяти кэша запросов за счет более медленной вставки в него / чтения из него.
Возможные значения:
- 0 - Отключено.
- 1 - Включено.
query_cache_max_entries
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество результатов запросов, которые текущий пользователь может хранить в кэше запросов. 0 означает неограниченное количество.
Возможные значения:
- Положительное целое число >= 0.
query_cache_max_size_in_bytes
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество памяти (в байтах), которое текущий пользователь может выделить в кэше запросов. 0 – неограниченное количество.
Возможные значения:
- Положительное целое число >= 0.
query_cache_min_query_duration
Тип: Milliseconds
Значение по умолчанию: 0
Минимальная продолжительность в миллисекундах, в течение которой запрос должен выполняться, чтобы его результат мог быть сохранен в кэше запросов.
Возможные значения:
- Положительное целое число >= 0.
query_cache_min_query_runs
Тип: UInt64
Значение по умолчанию: 0
Минимальное количество раз, которое запрос SELECT
должен выполниться, чтобы его результат мог быть сохранен в кэше запросов.
Возможные значения:
- Положительное целое число >= 0.
query_cache_nondeterministic_function_handling
Тип: QueryResultCacheNondeterministicFunctionHandling
Значение по умолчанию: throw
Контролирует, как кэш запросов обрабатывает запросы SELECT
с недетерминированными функциями, такими как rand()
или now()
.
Возможные значения:
'throw'
- Выдавать исключение и не кэшировать результат запроса.'save'
- Кэшировать результат запроса.'ignore'
- Не кэшировать результат запроса и не выдавать исключение.
query_cache_share_between_users
Тип: Bool
Значение по умолчанию: 0
Если включено, результаты запросов SELECT
, закэшированные в кэше запросов, могут быть прочитаны другими пользователями.
Не рекомендуется включать эту настройку по соображениям безопасности.
Возможные значения:
- 0 - Отключено.
- 1 - Включено.
query_cache_squash_partial_results
Тип: Bool
Значение по умолчанию: 1
Сжимает блоки частичного результата в блоки размером max_block_size. Уменьшает производительность вставок в кэш запросов, но улучшает степень сжатия записей кэша (см. query_cache_compress-entries).
Возможные значения:
- 0 - Отключено.
- 1 - Включено.
query_cache_system_table_handling
Тип: QueryResultCacheSystemTableHandling
Значение по умолчанию: throw
Контролирует, как кэш запросов обрабатывает запросы SELECT
к системным таблицам, т.е. таблицам в базах данных system.*
и information_schema.*
.
Возможные значения:
'throw'
- Выдавать исключение и не кэшировать результат запроса.'save'
- Кэшировать результат запроса.'ignore'
- Не кэшировать результат запроса и не выдавать исключение.
query_cache_tag
Тип: String
Значение по умолчанию:
Строка, которая служит меткой для записей кэша запросов. Одни и те же запросы с разными метками считаются разными кэшом запросов.
Возможные значения:
- Любая строка.
query_cache_ttl
Тип: Seconds
Значение по умолчанию: 60
По истечении этого времени в секундах записи в кэше запросов становятся устаревшими.
Возможные значения:
- Положительное целое число >= 0.
query_metric_log_interval
Тип: Int64
Значение по умолчанию: -1
Интервал в миллисекундах, на котором собирается query_metric_log для отдельных запросов.
Если установлено любое отрицательное значение, будет взято значение collect_interval_milliseconds
из настройки query_metric_log или по умолчанию 1000, если оно не указано.
Чтобы отключить сбор одиночного запроса, установите query_metric_log_interval
в 0.
Значение по умолчанию: -1.
query_plan_aggregation_in_order
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая выполняет агрегацию в порядке.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_convert_outer_join_to_inner_join
Тип: Bool
Значение по умолчанию: 1
Разрешить преобразование OUTER JOIN в INNER JOIN, если фильтр после JOIN всегда фильтрует значения по умолчанию.
query_plan_enable_multithreading_after_window_functions
Тип: Bool
Значение по умолчанию: 1
Включить многопоточность после расчетов оконных функций для обеспечения параллельной обработки потоков.
query_plan_enable_optimizations
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию запросов на уровне плана запроса.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить все оптимизации на уровне плана запроса.
- 1 - Включить оптимизации на уровне плана запроса (но отдельные оптимизации все равно могут быть отключены через их отдельные настройки).
query_plan_execute_functions_after_sorting
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая перемещает выражения после этапов сортировки.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_filter_push_down
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая перемещает фильтры вниз в плане выполнения.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_join_swap_table
Тип: BoolAuto
Значение по умолчанию: auto
Определить, какая сторона соединения должна быть таблицей построения (также называемой внутренней, той, которая вставляется в хэш-таблицу для хеш-объединения) в плане запроса. Эта настройка поддерживается только для строгой проверки ALL
с условием JOIN ON
. Возможные значения:
- 'auto': Позвольте планировщику решить, какую таблицу использовать в качестве таблицы построения.
- 'false': Никогда не менять таблицы (правая таблица — таблица построения).
- 'true': Всегда менять таблицы (левая таблица — таблица построения).
query_plan_lift_up_array_join
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая поднимает ARRAY JOIN вверх в плане выполнения.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_lift_up_union
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая поднимает большие поддеревья плана запроса в объединение для дальнейших оптимизаций.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_max_optimizations_to_apply
Тип: UInt64
Значение по умолчанию: 10000
Ограничивает общее количество оптимизаций, применяемых к плану запроса, см. настройку query_plan_enable_optimizations. Полезно для предотвращения долгого времени оптимизации для сложных запросов. В запросе EXPLAIN PLAN прекратите применять оптимизации после достижения этого предела и верните план как есть. Для обычного выполнения запроса, если фактическое количество оптимизаций превышает эту настройку, выбрасывается исключение.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
query_plan_merge_expressions
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая объединяет последовательные фильтры.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_merge_filters
Тип: Bool
Значение по умолчанию: 1
Разрешает объединять фильтры в плане запроса.
query_plan_optimize_prewhere
Тип: Bool
Значение по умолчанию: 1
Разрешает перемещение фильтра в выражение PREWHERE для поддерживаемых хранилищ.
query_plan_push_down_limit
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая перемещает LIMIT вниз в плане выполнения.
Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_read_in_order
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию чтения в порядке на уровне плана запроса. Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_remove_redundant_distinct
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая удаляет избыточные DISTINCT шаги. Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_remove_redundant_sorting
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая удаляет избыточные шаги сортировки, например, в подзапросах. Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_reuse_storage_ordering_for_window_functions
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая использует сортировку хранилища при сортировке для оконных функций. Действует только если настройка query_plan_enable_optimizations равна 1.
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_split_filter
Тип: Bool
Значение по умолчанию: 1
Это настройка для экспертов, которая должна использоваться только для отладки разработчиками. Настройка может изменяться в будущем не обратно совместимым способом или быть удалена.
Включает оптимизацию на уровне плана запроса, которая разбивает фильтры на выражения. Действует только если настройка query_plan_enable_optimizations равна 1.
Возможные значения:
- 0 - Отключить.
- 1 - Включить.
query_plan_try_use_vector_search
Тип: Bool
Значение по умолчанию: 1
Включает оптимизацию на уровне плана запроса, которая пытается использовать индекс векторного сходства. Действует только в том случае, если настройка query_plan_enable_optimizations равна 1.
Эта настройка является экспертной и должна использоваться только для отладки разработчиками. Настройка может измениться в будущем способом, несовместимым с предыдущими версиями, или быть удалена.
Возможные значения:
- 0 - Отключить
- 1 - Включить
query_plan_use_new_logical_join_step
Тип: Bool
Значение по умолчанию: 1
Использовать новый логический шаг соединения в плане запроса
query_profiler_cpu_time_period_ns
Тип: UInt64
Значение по умолчанию: 1000000000
Устанавливает период для таймера ЦПУ профайлера запросов. Этот таймер учитывает только время ЦПУ.
Возможные значения:
-
Положительное целое число в наносекундах.
Рекомендуемые значения:
- 10000000 (100 раз в секунду) наносекунд и более для одиночных запросов.
- 1000000000 (один раз в секунду) для профилирования по всему кластеру.
-
0 для отключения таймера.
Временно отключено в ClickHouse Cloud.
См. также:
- Системная таблица trace_log
query_profiler_real_time_period_ns
Тип: UInt64
Значение по умолчанию: 1000000000
Устанавливает период для реального таймера профайлера запросов. Реальный таймер учитывает время реальных часов.
Возможные значения:
-
Положительное целое число в наносекундах.
Рекомендуемые значения:
- 10000000 (100 раз в секунду) наносекунд и менее для одиночных запросов.
- 1000000000 (один раз в секунду) для профилирования по всему кластеру.
-
0 для отключения таймера.
Временно отключено в ClickHouse Cloud.
См. также:
- Системная таблица trace_log
queue_max_wait_ms
Тип: Milliseconds
Значение по умолчанию: 0
Время ожидания в очереди запросов, если количество одновременных запросов превышает максимальное.
rabbitmq_max_wait_ms
Тип: Milliseconds
Значение по умолчанию: 5000
Время ожидания для чтения из RabbitMQ перед повторной попыткой.
read_backoff_max_throughput
Тип: UInt64
Значение по умолчанию: 1048576
Настройка для уменьшения количества потоков в случае медленного чтения. Подсчитывает события, когда пропускная способность чтения менее указанного количества байт в секунду.
read_backoff_min_concurrency
Тип: UInt64
Значение по умолчанию: 1
Настройка, чтобы попытаться сохранить минимальное количество потоков в случае медленного чтения.
read_backoff_min_events
Тип: UInt64
Значение по умолчанию: 2
Настройка для уменьшения количества потоков в случае медленного чтения. Количество событий, после которых количество потоков будет уменьшено.
read_backoff_min_interval_between_events_ms
Тип: Milliseconds
Значение по умолчанию: 1000
Настройка для уменьшения количества потоков в случае медленного чтения. Не обращайте внимания на событие, если предыдущее прошло менее определенного количества времени.
read_backoff_min_latency_ms
Тип: Milliseconds
Значение по умолчанию: 1000
Настройка для уменьшения количества потоков в случае медленного чтения. Обращайте внимание только на чтения, которые заняли как минимум указанное время.
read_from_filesystem_cache_if_exists_otherwise_bypass_cache
Тип: Bool
Значение по умолчанию: 0
Разрешить использовать кеш файловой системы в пассивном режиме - использовать существующие записи кеша, но не добавлять новые записи в кеш. Если вы установите эту настройку для тяжелых ad-hoc запросов и отключите ее для краткосрочных реальных запросов, это позволит избежать "перехода" кеша из-за слишком тяжелых запросов и улучшит общую эффективность системы.
read_from_page_cache_if_exists_otherwise_bypass_cache
Тип: Bool
Значение по умолчанию: 0
Используйте кеш страниц в пользовательском пространстве в пассивном режиме, аналогично read_from_filesystem_cache_if_exists_otherwise_bypass_cache.
read_in_order_two_level_merge_threshold
Тип: UInt64
Значение по умолчанию: 100
Минимальное количество частей для чтения, чтобы запустить предварительный этап слияния во время многопоточного чтения в порядке первичного ключа.
read_in_order_use_buffering
Тип: Bool
Значение по умолчанию: 1
Использовать буферизацию перед слиянием во время чтения в порядке первичного ключа. Это увеличивает параллелизм выполнения запроса.
read_in_order_use_virtual_row
Тип: Bool
Значение по умолчанию: 0
Использовать виртуальную строку при чтении в порядке первичного ключа или его монотонной функции. Это полезно, когда производится поиск по нескольким частям, так как затрагиваются только релевантные.
read_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
read_overflow_mode_leaf
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит для узла.
read_priority
Тип: Int64
Значение по умолчанию: 0
Приоритет для чтения данных из локальной файловой системы или удаленной файловой системы. Поддерживается только для метода 'pread_threadpool' для локальной файловой системы и для threadpool
метода для удаленной файловой системы.
read_through_distributed_cache
Тип: Bool
Значение по умолчанию: 0
Действует только в ClickHouse Cloud. Разрешает чтение из распределенного кеша.
readonly
Тип: UInt64
Значение по умолчанию: 0
0 - нет ограничений на только чтение. 1 - только запросы на чтение, а также изменение явно разрешенных настроек. 2 - только запросы на чтение, а также изменение настроек, за исключением настройки 'readonly'.
receive_data_timeout_ms
Тип: Milliseconds
Значение по умолчанию: 2000
Тайм-аут подключения для получения первого пакета данных или пакета с положительным прогрессом от реплики.
receive_timeout
Тип: Seconds
Значение по умолчанию: 300
Тайм-аут для получения данных из сети в секундах. Если за это время не были получены байты, выбрасывается исключение. Если вы установите эту настройку на клиенте, также будет установлено 'send_timeout' для сокета на соответствующей стороне сервера.
regexp_max_matches_per_row
Тип: UInt64
Значение по умолчанию: 1000
Устанавливает максимальное количество совпадений для одного регулярного выражения на строку. Используйте это для защиты от перегрузки памяти при использовании жадного регулярного выражения в функции extractAllGroupsHorizontal.
Возможные значения:
- Положительное целое число.
reject_expensive_hyperscan_regexps
Тип: Bool
Значение по умолчанию: 1
Отклонять паттерны, которые, вероятно, будут дорогими для оценки с hyperscan (из-за взрыва состояний NFA).
remerge_sort_lowered_memory_bytes_ratio
Тип: Float
Значение по умолчанию: 2
Если использование памяти после повторного слияния не снизится на это соотношение, повторное слияние будет отключено.
remote_filesystem_read_method
Тип: String
Значение по умолчанию: threadpool
Метод чтения данных из удаленной файловой системы, один из: read, threadpool.
remote_filesystem_read_prefetch
Тип: Bool
Значение по умолчанию: 1
Следует ли использовать предварительную загрузку при чтении данных из удаленной файловой системы.
remote_fs_read_backoff_max_tries
Тип: UInt64
Значение по умолчанию: 5
Максимальное количество попыток чтения с откатом.
remote_fs_read_max_backoff_ms
Тип: UInt64
Значение по умолчанию: 10000
Максимальное время ожидания при попытке прочитать данные с удаленного диска.
remote_read_min_bytes_for_seek
Тип: UInt64
Значение по умолчанию: 4194304
Минимальное количество байт, требуемое для удаленного чтения (url, s3) для выполнения поиска, вместо чтения с игнорированием.
rename_files_after_processing
Тип: String
Значение по умолчанию:
-
Тип: String
-
Значение по умолчанию: Пустая строка
Эта настройка позволяет указать шаблон переименования для файлов, обработанных функцией таблицы file
. Когда опция установлена, все файлы, прочитанные функцией таблицы file
, будут переименованы в соответствии с заданным шаблоном с заполнителями, только если обработка файлов была успешной.
Заполнители
%a
— Полное оригинальное имя файла (например, "sample.csv").%f
— Оригинальное имя файла без расширения (например, "sample").%e
— Оригинальное расширение файла с точкой (например, ".csv").%t
— Временная метка (в микросекундах).%%
— Знак процента ("%").
Пример
-
Опция:
--rename_files_after_processing="processed_%f_%t%e"
-
Запрос:
SELECT * FROM file('sample.csv')
Если чтение sample.csv
завершилось успешно, файл будет переименован в processed_sample_1683473210851438.csv
.
replace_running_query
Тип: Bool
Значение по умолчанию: 0
При использовании HTTP-интерфейса можно передать параметр 'query_id'. Это может быть любая строка, которая служит идентификатором запроса. Если запрос от того же пользователя с тем же 'query_id' уже существует в этот момент, поведение зависит от параметра 'replace_running_query'.
0
(по умолчанию) – Выбрасывается исключение (не разрешается выполнение запроса, если запрос с тем же 'query_id' уже выполняется).
1
– Отменить старый запрос и начать выполнение нового.
Установите этот параметр в 1 для реализации рекомендаций по условиям сегментации. После введения следующего символа, если старый запрос еще не завершен, его следует отменить.
replace_running_query_max_wait_ms
Тип: Milliseconds
Значение по умолчанию: 5000
Время ожидания для завершения запроса с тем же query_id
, когда активна настройка replace_running_query.
Возможные значения:
- Положительное целое число.
- 0 — Выбрасывается исключение, не позволяющее запустить новый запрос, если сервер уже выполняет запрос с тем же
query_id
.
replication_wait_for_inactive_replica_timeout
Тип: Int64
Значение по умолчанию: 120
Указывает, как долго (в секундах) ждать, пока неактивные реплики выполнят запросы ALTER, OPTIMIZE или TRUNCATE.
Возможные значения:
- 0 — Не ждать.
- Отрицательное целое число — Ждать неограниченное время.
- Положительное целое число — Количество секунд ожидания.
restore_replace_external_dictionary_source_to_null
Тип: Bool
Значение по умолчанию: 0
Заменить внешние источники словаря на Null при восстановлении. Полезно для целей тестирования.
restore_replace_external_engines_to_null
Тип: Bool
Значение по умолчанию: 0
Для целей тестирования. Заменяет все внешние движки на Null, чтобы не инициировать внешние соединения.
restore_replace_external_table_functions_to_null
Тип: Bool
Значение по умолчанию: 0
Для целей тестирования. Заменяет все внешние функции таблиц на Null, чтобы не инициировать внешние соединения.
restore_replicated_merge_tree_to_shared_merge_tree
Тип: Bool
Значение по умолчанию: 0
Заменить движок таблицы с ReplicatedMergeTree -> SharedMergeTree во время ВОССТАНОВЛЕНИЯ.
result_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
rewrite_count_distinct_if_with_count_distinct_implementation
Тип: Bool
Значение по умолчанию: 0
Позволяет переписывать countDistinctIf
с настройкой count_distinct_implementation.
Возможные значения:
- true — Разрешить.
- false — Запретить.
s3_allow_multipart_copy
Тип: Bool
Значение по умолчанию: 1
Разрешить многократное копирование в S3.
s3_allow_parallel_part_upload
Тип: Bool
Значение по умолчанию: 1
Использовать несколько потоков для многократной загрузки в S3. Это может привести к немного большему использованию памяти.
s3_check_objects_after_upload
Тип: Bool
Значение по умолчанию: 0
Проверка каждого загруженного объекта в S3 с помощью запроса head, чтобы убедиться, что загрузка прошла успешно.
s3_connect_timeout_ms
Тип: UInt64
Значение по умолчанию: 1000
Тайм-аут подключения для хоста с дисков S3.
s3_create_new_file_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает создание нового файла при каждом вставке в таблицы движка S3. Если включено, при каждой вставке будет создан новый объект S3 с ключом, аналогичным этому шаблону:
начальный: data.Parquet.gz
-> data.1.Parquet.gz
-> data.2.Parquet.gz
и т.д.
Возможные значения:
- 0 — Запрос
INSERT
добавляет новые данные в конец файла. - 1 — Запрос
INSERT
создает новый файл.
s3_disable_checksum
Тип: Bool
Значение по умолчанию: 0
Не вычислять контрольную сумму при отправке файла в S3. Это ускоряет запись, избегая излишних проходов обработки файла. Это в основном безопасно, так как данные таблиц MergeTree все равно проверяются ClickHouse, и при доступе к S3 по HTTPS уровень TLS уже обеспечивает целостность при передаче через сеть. Хотя дополнительные контрольные суммы на S3 обеспечивают защиту в глубину.
s3_ignore_file_doesnt_exist
Тип: Bool
Значение по умолчанию: 0
Игнорировать отсутствие файла, если он не существует при чтении определенных ключей.
Возможные значения:
- 1 —
SELECT
возвращает пустой результат. - 0 —
SELECT
выбрасывает исключение.
s3_list_object_keys_size
Тип: UInt64
Значение по умолчанию: 1000
Максимальное количество файлов, которые могут быть возвращены в партии запросом ListObject.
s3_max_connections
Тип: UInt64
Значение по умолчанию: 1024
Максимальное количество подключений на сервер.
s3_max_get_burst
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество запросов, которые могут быть выполнены одновременно, прежде чем будет достигнут лимит запросов в секунду. По умолчанию (0) равняется s3_max_get_rps
.
s3_max_get_rps
Тип: UInt64
Значение по умолчанию: 0
Лимит на количество GET-запросов S3 в секунду перед ограничением. Ноль означает неограниченно.
s3_max_inflight_parts_for_one_file
Тип: UInt64
Значение по умолчанию: 20
Максимальное количество загружаемых частей в запросе на многократную загрузку. 0 означает неограниченно.
s3_max_part_number
Тип: UInt64
Значение по умолчанию: 10000
Максимальный номер части для загрузки в S3.
s3_max_put_burst
Тип: UInt64
Значение по умолчанию: 0
Максимальное количество запросов, которые могут быть выполнены одновременно, прежде чем будет достигнут лимит запросов в секунду. По умолчанию (0) равняется s3_max_put_rps
.
s3_max_put_rps
Тип: UInt64
Значение по умолчанию: 0
Лимит на количество PUT-запросов в S3 в секунду перед ограничением. Ноль означает неограниченно.
s3_max_redirects
Тип: UInt64
Значение по умолчанию: 10
Максимальное количество разрешенных переадресаций S3.
s3_max_single_operation_copy_size
Тип: UInt64
Значение по умолчанию: 33554432
Максимальный размер для операции копирования в S3. Эта настройка используется только в том случае, если s3_allow_multipart_copy равно true.
s3_max_single_part_upload_size
Тип: UInt64
Значение по умолчанию: 33554432
Максимальный размер объекта для загрузки с помощью однопартной загрузки в S3.
s3_max_single_read_retries
Тип: UInt64
Значение по умолчанию: 4
Максимальное количество попыток чтения при однократном чтении из S3.
s3_max_unexpected_write_error_retries
Тип: UInt64
Значение по умолчанию: 4
Максимальное количество попыток в случае неожиданных ошибок при записи в S3.
s3_max_upload_part_size
Тип: UInt64
Значение по умолчанию: 5368709120
Максимальный размер части для загрузки во время многократной загрузки в S3.
s3_min_upload_part_size
Тип: UInt64
Значение по умолчанию: 16777216
Минимальный размер части для загрузки во время многократной загрузки в S3.
s3_request_timeout_ms
Тип: UInt64
Значение по умолчанию: 30000
Тайм-аут бездействия для отправки и получения данных в/из S3. Ошибка, если единичный вызов чтения или записи TCP блокируется так долго.
s3_retry_attempts
Тип: UInt64
Значение по умолчанию: 100
Настройка для Aws::Client::RetryStrategy, Aws::Client производит повторные попытки самостоятельно, 0 означает отсутствие повторных попыток.
s3_skip_empty_files
Тип: Bool
Значение по умолчанию: 1
Включает или отключает пропуск пустых файлов в таблицах движка S3.
Возможные значения:
- 0 —
SELECT
выбрасывает исключение, если пустой файл несовместим с запрашиваемым форматом. - 1 —
SELECT
возвращает пустой результат для пустого файла.
s3_strict_upload_part_size
Тип: UInt64
Значение по умолчанию: 0
Точный размер части для загрузки во время многократной загрузки в S3 (некоторые реализации не поддерживают переменные размеры частей).
s3_throw_on_zero_files_match
Тип: Bool
Значение по умолчанию: 0
Выбросить ошибку, когда запрос ListObjects не может соответствовать ни одному файлу.
s3_truncate_on_insert
Тип: Bool
Значение по умолчанию: 0
Включает или отключает усечение перед вставками в таблицы движка S3. Если отключено, будет выброшено исключение при попытках вставки, если объект S3 уже существует.
Возможные значения:
- 0 — Запрос
INSERT
добавляет новые данные в конец файла. - 1 — Запрос
INSERT
заменяет существующее содержимое файла новыми данными.
s3_upload_part_size_multiply_factor
Тип: UInt64
Значение по умолчанию: 2
Умножьте s3_min_upload_part_size на этот множитель каждый раз, когда s3_upload_part_size_multiply_parts_count_threshold частей было загружено из одной записи в S3.
s3_upload_part_size_multiply_parts_count_threshold
Тип: UInt64
Значение по умолчанию: 500
Каждый раз, когда это количество частей было загружено в S3, s3_min_upload_part_size умножается на s3_upload_part_size_multiply_factor.
s3_use_adaptive_timeouts
Тип: Bool
Значение по умолчанию: 1
При установке в true
для всех запросов S3 первые две попытки производятся с низкими временными пределами на отправку и получение.
При установке в false
все попытки делаются с одинаковыми временными пределами.
s3_validate_request_settings
Тип: Bool
Значение по умолчанию: 1
Включает валидацию настроек запроса S3.
Возможные значения:
- 1 — проверять настройки.
- 0 — не проверять настройки.
s3queue_default_zookeeper_path
Тип: String
Значение по умолчанию: /clickhouse/s3queue/
Префикс пути по умолчанию для Zookeeper для движка S3Queue.
s3queue_enable_logging_to_s3queue_log
Тип: Bool
Значение по умолчанию: 0
Включить запись в system.s3queue_log. Значение можно переопределить для таблицы с помощью настроек таблицы.
s3queue_migrate_old_metadata_to_buckets
Тип: Bool
Значение по умолчанию: 0
Перенос старой структуры метаданных таблицы S3Queue на новую.
schema_inference_cache_require_modification_time_for_url
Тип: Bool
Значение по умолчанию: 1
Используйте схему из кеша для URL с проверкой времени последнего изменения (для URL с заголовком Last-Modified).
schema_inference_use_cache_for_azure
Тип: Bool
Значение по умолчанию: 1
Используйте кеш в выводе схемы при использовании функции таблицы Azure.
schema_inference_use_cache_for_file
Тип: Bool
Значение по умолчанию: 1
Используйте кеш в выводе схемы при использовании функции таблицы файла.
schema_inference_use_cache_for_hdfs
Тип: Bool
Значение по умолчанию: 1
Используйте кеш в выводе схемы при использовании функции таблицы HDFS.
schema_inference_use_cache_for_s3
Тип: Bool
Значение по умолчанию: 1
Используйте кеш в выводе схемы при использовании функции таблицы S3.
schema_inference_use_cache_for_url
Тип: Bool
Значение по умолчанию: 1
Используйте кеш в выводе схемы при использовании функции таблицы URL.
select_sequential_consistency
Тип: UInt64
Значение по умолчанию: 0
Эта настройка отличается по поведению между SharedMergeTree и ReplicatedMergeTree, см. ConsistentSharedMergeTree для получения более подробной информации о поведении select_sequential_consistency
в SharedMergeTree.
Включает или отключает последовательную согласованность для запросов SELECT
. Требует отключенной настройки insert_quorum_parallel
(включенной по умолчанию).
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Использование
Когда включена последовательная согласованность, ClickHouse разрешает клиенту выполнять запрос SELECT
только для тех реплик, которые содержат данные из всех предыдущих запросов INSERT
, выполненных с insert_quorum
. Если клиент ссылается на частичную реплику, ClickHouse сгенерирует исключение. Запрос SELECT не будет включать данные, которые еще не записаны в куорум реплик.
Когда insert_quorum_parallel
включен (по умолчанию), select_sequential_consistency
не работает. Это связано с тем, что параллельные запросы INSERT
могут записываться в разные наборы куорум реплик, поэтому нет гарантии, что одна реплика получит все записи.
См. также:
send_logs_level
Тип: LogsLevel
Значение по умолчанию: fatal
Отправить текстовые логи сервера с указанным минимальным уровнем клиенту. Действительные значения: 'trace', 'debug', 'information', 'warning', 'error', 'fatal', 'none'.
send_logs_source_regexp
Тип: String
Значение по умолчанию:
Отправить текстовые логи сервера с заданным регулярным выражением для сопоставления имени источника логов. Пустое значение означает все источники.
send_progress_in_http_headers
Тип: Bool
Значение по умолчанию: 0
Включает или отключает заголовки HTTP-ответов X-ClickHouse-Progress
в ответах clickhouse-server
.
Для получения дополнительной информации прочитайте описание HTTP-интерфейса.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
send_timeout
Тип: Seconds
Значение по умолчанию: 300
Тайм-аут для отправки данных в сеть, в секундах. Если клиенту необходимо отправить данные, но он не может отправить байты в этот интервал, выбрасывается исключение. Если вы установите эту настройку на клиенте, также будет установлено 'receive_timeout' для сокета на соответствующей стороне сервера.
session_timezone
Тип: Timezone
Значение по умолчанию:
Устанавливает неявный часовой пояс текущей сессии или запроса. Неявный часовой пояс — это часовой пояс, применяемый к значениям типа DateTime/DateTime64, у которых не указан явно часовой пояс. Эта настройка имеет преимущество перед глобально настроенным (на уровне сервера) неявным часовым поясом. Значение '' (пустая строка) означает, что неявный часовой пояс текущей сессии или запроса равен серверному часовому поясу.
Вы можете использовать функции timeZone()
и serverTimeZone()
для получения часового пояса сессии и часового пояса сервера.
Возможные значения:
- любое имя часового пояса из
system.time_zones
, например,Europe/Berlin
,UTC
илиZulu
.
Примеры:
Назначьте часовую зону сессии 'America/Denver' внутреннему DateTime без явно указанного часового пояса:
Не все функции, которые парсят DateTime/DateTime64, учитывают session_timezone
. Это может привести к неочевидным ошибкам.
См. следующий пример и объяснение.
Это происходит из-за различных конвейеров парсинга:
toDateTime()
без явно указанного часового пояса, использованного в первом запросеSELECT
, уважает настройкуsession_timezone
и глобальный часовой пояс.- Во втором запросе DateTime парсится из строки и унаследует тип и часовой пояс существующего столбца
d
. Таким образом, установкаsession_timezone
и глобального часового пояса не учитываются.
См. также
set_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
shared_merge_tree_sync_parts_on_partition_operations
Тип: Bool
Значение по умолчанию: 1
Автоматически синхронизировать набор частей данных после операций MOVE|REPLACE|ATTACH в таблицах SMT. Только для Cloud.
short_circuit_function_evaluation
Тип: ShortCircuitFunctionEvaluation
Значение по умолчанию: enable
Разрешает вычисление функций if, multiIf, и and и or в соответствии с схемой короткого замыкания. Это помогает оптимизировать выполнение сложных выражений в этих функциях и предотвратить возможные исключения (например, деление на ноль, когда это не ожидается).
Возможные значения:
enable
— Включает оценку функций с коротким замыканием для функций, которые подходят для этого (могут выбросить исключение или требовать значительных вычислений).force_enable
— Включает оценку функций с коротким замыканием для всех функций.disable
— Отключает оценку функций с коротким замыканием.
short_circuit_function_evaluation_for_nulls
Тип: Bool
Значение по умолчанию: 1
Оптимизирует оценку функций, которые возвращают NULL, когда любой аргумент равен NULL. Когда процент NULL-значений в аргументах функции превышает short_circuit_function_evaluation_for_nulls_threshold, система пропускает оценку функции построчно. Вместо этого она сразу возвращает NULL для всех строк, избегая ненужных вычислений.
short_circuit_function_evaluation_for_nulls_threshold
Тип: Double
Значение по умолчанию: 1
Пороговое значение соотношения NULL-значений для выполнения функций с Nullable-аргументами только по строкам с ненулевыми значениями во всех аргументах. Применяется при включенной настройке short_circuit_function_evaluation_for_nulls. Когда соотношение строк с NULL-значениями к общему количеству строк превышает этот порог, эти строки с NULL-значениями не будут оцениваться.
show_table_uuid_in_table_create_query_if_not_nil
Тип: Bool
Значение по умолчанию: 0
Устанавливает отображение запроса SHOW TABLE
.
Возможные значения:
- 0 — Запрос отображается без UUID таблицы.
- 1 — Запрос отображается с UUID таблицы.
single_join_prefer_left_table
Тип: Bool
Значение по умолчанию: 1
Для одиночного JOIN в случае неоднозначности идентификатора предпочитать левую таблицу.
skip_redundant_aliases_in_udf
Тип: Bool
Значение по умолчанию: 0
Избыточные алиасы не используются (заменяются) в пользовательских функциях, чтобы упростить их использование.
Возможные значения:
- 1 — Алиасы пропускаются (заменяются) в UDF.
- 0 — Алиасы не пропускаются (заменяются) в UDF.
Пример
Разница между включенным и отключенным состоянием:
Запрос:
Результат:
Запрос:
Результат:
skip_unavailable_shards
Тип: Bool
Значение по умолчанию: 0
Включает или отключает тихую пропуску недоступных шардов.
Шард считается недоступным, если все его реплики недоступны. Реплика недоступна в следующих случаях:
-
ClickHouse не может подключиться к реплике по какой-либо причине.
При подключении к реплике ClickHouse выполняет несколько попыток. Если все эти попытки неудачны, реплика считается недоступной.
-
Реплика не может быть разрешена через DNS.
Если имя хоста реплики не может быть разрешено через DNS, это может указывать на следующие ситуации:
-
У хоста реплики нет DNS-записи. Это может произойти в системах с динамическим DNS, например, в Kubernetes, где узлы могут быть неразрешимы во время простоя, и это не является ошибкой.
-
Ошибка конфигурации. Файл конфигурации ClickHouse содержит неверное имя хоста.
-
Возможные значения:
-
1 — пропуск включен.
Если шард недоступен, ClickHouse возвращает результат на основе частичных данных и не сообщает о проблемах с доступностью узла.
-
0 — пропуск отключен.
Если шард недоступен, ClickHouse генерирует исключение.
sleep_after_receiving_query_ms
Тип: Миллисекунды
Значение по умолчанию: 0
Время ожидания после получения запроса в TCPHandler
sleep_in_send_data_ms
Тип: Миллисекунды
Значение по умолчанию: 0
Время ожидания при отправке данных в TCPHandler
sleep_in_send_tables_status_ms
Тип: Миллисекунды
Значение по умолчанию: 0
Время ожидания при отправке ответа о статусе таблиц в TCPHandler
sort_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
split_intersecting_parts_ranges_into_layers_final
Тип: Bool
Значение по умолчанию: 1
Разделить пересекающиеся диапазоны частей на слои во время финальной оптимизации
split_parts_ranges_into_intersecting_and_non_intersecting_final
Тип: Bool
Значение по умолчанию: 1
Разделить диапазоны частей на пересекающиеся и непересекающиеся во время финальной оптимизации
splitby_max_substrings_includes_remaining_string
Тип: Bool
Значение по умолчанию: 0
Управляет тем, будет ли функция splitBy*() с аргументом max_substrings
> 0 включать оставшуюся строку в последний элемент массива результатов.
Возможные значения:
0
- Оставшаяся строка не будет включена в последний элемент массива результатов.1
- Оставшаяся строка будет включена в последний элемент массива результатов. Это поведение функцииsplit()
Spark и метода 'string.split()' Python.
stop_refreshable_materialized_views_on_startup
Тип: Bool
Значение по умолчанию: 0
При запуске сервера отключает планирование обновляемых материализованных представлений, как если бы с помощью SYSTEM STOP VIEWS. Вы можете вручную запустить их с помощью SYSTEM START VIEWS
или SYSTEM START VIEW <name>
после этого. Также применяется к вновь созданным представлениям. Не влияет на необновляемые материализованные представления.
storage_file_read_method
Тип: LocalFSReadMethod
Значение по умолчанию: pread
Метод чтения данных из файла хранения, один из: read
, pread
, mmap
. Метод mmap не применяется к clickhouse-server (он предназначен для clickhouse-local).
storage_system_stack_trace_pipe_read_timeout_ms
Тип: Миллисекунды
Значение по умолчанию: 100
Максимальное время для чтения из канала для получения информации от потоков при запросе таблицы system.stack_trace
. Эта настройка используется в тестовых целях и не предназначена для изменения пользователями.
stream_flush_interval_ms
Тип: Миллисекунды
Значение по умолчанию: 7500
Работает для таблиц с потоковой передачей в случае таймаута или когда поток генерирует max_insert_block_size строк.
Значение по умолчанию - 7500.
Чем меньше значение, тем чаще данные сбрасываются в таблицу. Установка значения слишком низким может привести к плохой производительности.
stream_like_engine_allow_direct_select
Тип: Bool
Значение по умолчанию: 0
Разрешить прямой запрос SELECT для движков Kafka, RabbitMQ, FileLog, Redis Streams и NATS. Если есть прикрепленные материализованные представления, запрос SELECT не разрешен, даже если эта настройка включена.
stream_like_engine_insert_queue
Тип: String
Значение по умолчанию:
Когда движок, похожий на поток, читает из нескольких очередей, пользователю потребуется выбрать одну очередь для вставки при записи. Используется движками Redis Streams и NATS.
stream_poll_timeout_ms
Тип: Миллисекунды
Значение по умолчанию: 500
Таймаут для опроса данных из/в потоковые хранилища.
system_events_show_zero_values
Тип: Bool
Значение по умолчанию: 0
Позволяет выбирать события с нулевыми значениями из system.events
.
Некоторые системы мониторинга требуют передачи всех значений метрик для них на каждой контрольной точке, даже если значение метрики равно нулю.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
Примеры
Запрос
Результат
Запрос
Результат
table_function_remote_max_addresses
Тип: UInt64
Значение по умолчанию: 1000
Устанавливает максимальное количество адресов, сгенерированных из шаблонов для функции remote.
Возможные значения:
- Положительное целое число.
tcp_keep_alive_timeout
Тип: Секунды
Значение по умолчанию: 290
Время в секундах, в течение которого соединение должно оставаться бездействующим, прежде чем TCP начнет отправлять пакеты для поддержания соединения
temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds
Тип: UInt64
Значение по умолчанию: 600000
Время ожидания для блокировки кэша для резервирования пространства для временных данных в кэше файловой системы
temporary_files_codec
Тип: Строка
Значение по умолчанию: LZ4
Устанавливает кодек сжатия для временных файлов, используемых в операциях сортировки и объединения на диске.
Возможные значения:
- LZ4 — применяется сжатие LZ4.
- NONE — сжатие не применяется.
throw_if_deduplication_in_dependent_materialized_views_enabled_with_async_insert
Тип: Bool
Значение по умолчанию: 1
Генерировать исключение в запросе INSERT, когда настройка deduplicate_blocks_in_dependent_materialized_views
включена вместе с async_insert
. Это гарантирует корректность, поскольку эти функции не могут работать вместе.
throw_if_no_data_to_insert
Тип: Bool
Значение по умолчанию: 1
Позволяет или запрещает пустые INSERT-запросы, включено по умолчанию (вызывает ошибку при пустой вставке). Применяется только к INSERT-запросам с использованием clickhouse-client
или используя gRPC интерфейс.
throw_on_error_from_cache_on_write_operations
Тип: Bool
Значение по умолчанию: 0
Игнорировать ошибку из кэша при кэшировании на операциях записи (INSERT, слияния)
throw_on_max_partitions_per_insert_block
Тип: Bool
Значение по умолчанию: 1
Используется с max_partitions_per_insert_block. Если true (по умолчанию), будет выбрасываться исключение, когда достигнуто значение max_partitions_per_insert_block. Если false, детали запроса вставки, достигшего этого лимита, будут записаны в журнал. Это может быть полезно, если вы пытаетесь понять влияние на пользователей при изменении max_partitions_per_insert_block.
throw_on_unsupported_query_inside_transaction
Тип: Bool
Значение по умолчанию: 1
Генерировать исключение, если неподдерживаемый запрос используется внутри транзакции
timeout_before_checking_execution_speed
Тип: Секунды
Значение по умолчанию: 10
Проверить, что скорость не слишком низка после истечения указанного времени.
timeout_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
timeout_overflow_mode_leaf
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит для листа.
totals_auto_threshold
Тип: Float
Значение по умолчанию: 0.5
Порог для totals_mode = 'auto'
.
См. раздел "Модификатор WITH TOTALS".
totals_mode
Тип: TotalsMode
Значение по умолчанию: after_having_exclusive
Как рассчитывать TOTALS, когда присутствует HAVING, а также когда max_rows_to_group_by и group_by_overflow_mode = 'any' присутствуют. См. раздел "Модификатор WITH TOTALS".
trace_profile_events
Тип: Bool
Значение по умолчанию: 0
Включает или отключает сбор трассировок при каждом обновлении событий профиля вместе с именем события профиля и значением увеличения и отправкой их в trace_log.
Возможные значения:
- 1 — Включена трассировка событий профиля.
- 0 — Отключена трассировка событий профиля.
transfer_overflow_mode
Тип: OverflowMode
Значение по умолчанию: throw
Что делать, когда превышен лимит.
transform_null_in
Тип: Bool
Значение по умолчанию: 0
Включает равенство значений NULL для оператора IN.
По умолчанию значения NULL
не могут быть сравнены, поскольку NULL
означает неопределенное значение. Таким образом, сравнение expr = NULL
должно всегда возвращать false
. С этой настройкой NULL = NULL
возвращает true
для оператора IN
.
Возможные значения:
- 0 — Сравнение значений
NULL
в оператореIN
возвращаетfalse
. - 1 — Сравнение значений
NULL
в оператореIN
возвращаетtrue
.
Пример
Рассмотрим таблицу null_in
:
Запрос:
Результат:
Запрос:
Результат:
См. также
traverse_shadow_remote_data_paths
Тип: Bool
Значение по умолчанию: 0
Перебирать замороженные данные (теневая директория) в дополнение к фактическим данным таблицы при запросе system.remote_data_paths
union_default_mode
Тип: SetOperationMode
Значение по умолчанию:
Устанавливает режим для объединения результатов запросов SELECT
. Настройка используется только при совместном использовании с UNION без явного указания UNION ALL
или UNION DISTINCT
.
Возможные значения:
'DISTINCT'
— ClickHouse выводит строки в результате объединения запросов, удаляя дублирующиеся строки.'ALL'
— ClickHouse выводит все строки в результате объединения запросов, включая дублирующиеся строки.''
— ClickHouse генерирует исключение при использовании сUNION
.
Смотрите примеры в UNION.
unknown_packet_in_send_data
Тип: UInt64
Значение по умолчанию: 0
Отправить неизвестный пакет вместо N-го пакета данных
use_async_executor_for_materialized_views
Тип: Bool
Значение по умолчанию: 0
Использовать асинхронное и потенциально многопоточное выполнение запроса материализованного представления, может ускорить обработку представлений во время INSERT, но также потребляет больше памяти.
use_cache_for_count_from_files
Тип: Bool
Значение по умолчанию: 1
Включает кэширование количества строк при подсчете из файлов в функциях таблицы file
/s3
/url
/hdfs
/azureBlobStorage
.
Включено по умолчанию.
use_client_time_zone
Тип: Bool
Значение по умолчанию: 0
Использовать часовой пояс клиента для интерпретации строковых значений DateTime, вместо того чтобы принимать часовой пояс сервера.
use_compact_format_in_distributed_parts_names
Тип: Bool
Значение по умолчанию: 1
Использует компактный формат для хранения блоков для фоновой вставки (distributed_foreground_insert
) в таблицы с движком Distributed
.
Возможные значения:
- 0 — Использует формат директории
user[:password]@host:port#default_database
. - 1 — Использует формат директории
[shard{shard_index}[_replica{replica_index}]]
.
- при
use_compact_format_in_distributed_parts_names=0
изменения из определения кластера не будут применяться для фоновой вставки. - при
use_compact_format_in_distributed_parts_names=1
изменение порядка узлов в определении кластера изменитshard_index
/replica_index
, так что будьте внимательны.
use_concurrency_control
Тип: Bool
Значение по умолчанию: 1
Уважать контроль конкурентности сервера (см. глобальные серверные настройки concurrent_threads_soft_limit_num
и concurrent_threads_soft_limit_ratio_to_cores
). Если отключено, это позволяет использовать большее количество потоков, даже если сервер перегружен (не рекомендуется для нормального использования и необходимо в основном для тестов).
use_hedged_requests
Тип: Bool
Значение по умолчанию: 1
Включает логику хеджирования запросов для удаленных запросов. Это позволяет устанавливать множество соединений с разными репликами для запроса.
Новое соединение включается в случае, если существующее соединение(я) с репликой(ами) не было установлено в течение hedged_connection_timeout
или данные не были получены в течение receive_data_timeout
. Запрос использует первое соединение, которое отправляет непустой пакет прогресса (или пакет данных, если allow_changing_replica_until_first_data_packet
); другие соединения отменяются. Запросы с max_parallel_replicas > 1
поддерживаются.
Включено по умолчанию.
Отключено по умолчанию в Cloud.
use_hive_partitioning
Тип: Bool
Значение по умолчанию: 1
При включении ClickHouse определяет разделение в стиле Hive в пути (/name=value/
) в движках таблиц, похожих на файлы File/S3/URL/HDFS/AzureBlobStorage и позволяет использовать колонки разделов как виртуальные колонки в запросе. Эти виртуальные колонки будут иметь такие же названия, как в разделе, но с префиксом _
.
use_iceberg_partition_pruning
Тип: Bool
Значение по умолчанию: 0
Использовать обрезку партиций Iceberg для таблиц Iceberg
use_index_for_in_with_subqueries
Тип: Bool
Значение по умолчанию: 1
Попробовать использовать индекс, если на правой стороне оператора IN есть подзапрос или выражение таблицы.
use_index_for_in_with_subqueries_max_values
Тип: UInt64
Значение по умолчанию: 0
Максимальный размер набора на правой стороне оператора IN для использования индекса таблицы для фильтрации. Это позволяет избежать деградации производительности и повышенного использования памяти из-за подготовки дополнительных структур данных для крупных запросов. Ноль означает отсутствие ограничений.
use_json_alias_for_old_object_type
Тип: Bool
Значение по умолчанию: 0
При включении будет использоваться псевдоним типа JSON
для создания старого типа Object('json') вместо нового типа JSON.
use_local_cache_for_remote_storage
Тип: Bool
Значение по умолчанию: 1
Использовать локальный кэш для удаленного хранилища, такого как HDFS или S3, используется только для удаленного движка таблицы
use_page_cache_for_disks_without_file_cache
Тип: Bool
Значение по умолчанию: 0
Использовать кэш страниц пользователя для удаленных дисков, у которых не включен файловый кэш.
use_page_cache_with_distributed_cache
Тип: Bool
Значение по умолчанию: 0
Использовать кэш страниц пользователя, когда используется распределенный кэш.
use_query_cache
Тип: Bool
Значение по умолчанию: 0
Если включен, запросы SELECT
могут использовать кэш запросов. Параметры enable_reads_from_query_cache и enable_writes_to_query_cache более подробно контролируют, как используется кэш.
Возможные значения:
- 0 - Отключено
- 1 - Включено
use_query_condition_cache
Тип: Bool
Значение по умолчанию: 0
Включает кэш условий запроса.
Возможные значения:
- 0 - Отключено
- 1 - Включено
use_skip_indexes
Тип: Bool
Значение по умолчанию: 1
Использовать индексы для пропуска данных во время выполнения запроса.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
use_skip_indexes_if_final
Тип: Bool
Значение по умолчанию: 0
Управляет тем, используются ли индексы для пропуска, когда выполняется запрос с модификатором FINAL.
По умолчанию эта настройка отключена, поскольку индексы для пропуска могут исключать строки (гранулы), содержащие последние данные, что может привести к неправильным результатам. При включении индексы для пропуска применяются даже с модификатором FINAL, что потенциально улучшает производительность, но с риском пропустить недавние обновления.
Возможные значения:
- 0 — Отключено.
- 1 — Включено.
use_structure_from_insertion_table_in_table_functions
Тип: UInt64
Значение по умолчанию: 2
Использовать структуру из таблицы вставок вместо вывода схемы из данных. Возможные значения: 0 - отключено, 1 - включено, 2 - авто
use_uncompressed_cache
Тип: Bool
Значение по умолчанию: 0
Использовать ли кэш не сжатых блоков. Принимает 0 или 1. По умолчанию 0 (отключено). Использование некотируемого кэша (только для таблиц семейства MergeTree) может значительно уменьшить задержку и увеличить пропускную способность при работе с большим количеством коротких запросов. Включите эту настройку для пользователей, которые часто отправляют короткие запросы. Также обратите внимание на параметр конфигурации uncompressed_cache_size (настраивается только в конфигурационном файле) – размер блоков некотируемого кэша. По умолчанию это 8 ГиБ. Некотируемый кэш заполняется по мере необходимости, а данные, которые используются наименее часто, автоматически удаляются.
Для запросов, которые читают хотя бы немного большого объема данных (один миллион строк и более), некотируемый кэш автоматически отключается, чтобы сэкономить место для действительно небольших запросов. Это означает, что вы можете оставить настройку 'use_uncompressed_cache' всегда установленной на 1.
use_variant_as_common_type
Тип: Bool
Значение по умолчанию: 0
Позволяет использовать тип Variant
в качестве типа результата для функций if/multiIf/array/map, когда нет общего типа для типов аргументов.
Пример:
use_with_fill_by_sorting_prefix
Тип: Bool
Значение по умолчанию: 1
Колонки, предшествующие колонкам WITH FILL в операторе ORDER BY, формируют сортировочный префикс. Строки с разными значениями в сортировочном префиксе заполняются независимо
validate_enum_literals_in_operators
Тип: Bool
Значение по умолчанию: 0
Если включено, проверять литералы перечисления в операторах, таких как IN
, NOT IN
, ==
, !=
, на соответствие типу перечисления и генерировать исключение, если литерал не является допустимым значением перечисления.
validate_mutation_query
Тип: Bool
Значение по умолчанию: 1
Проверять запросы мутации перед их принятием. Мутации выполняются в фоновом режиме, и выполнение недопустимого запроса вызовет зависание мутаций, требуя ручного вмешательства.
Изменяйте эту настройку только в случае возникновения обратимой несовместимой ошибки.
validate_polygons
Тип: Bool
Значение по умолчанию: 1
Включает или отключает выброс исключения в функции pointInPolygon, если многоугольник самопересекается или самоподобен.
Возможные значения:
- 0 — Выброс исключения отключен.
pointInPolygon
принимает недопустимые многоугольники и возвращает, возможно, неправильные результаты для них. - 1 — Выброс исключения включен.
wait_changes_become_visible_after_commit_mode
Тип: TransactionsWaitCSNMode
Значение по умолчанию: wait_unknown
Ожидание, пока зафиксированные изменения станут видимыми в последнем снимке.
wait_for_async_insert
Тип: Bool
Значение по умолчанию: 1
Если true, ждите обработки асинхронной вставки.
wait_for_async_insert_timeout
Тип: Секунды
Значение по умолчанию: 120
Таймаут для ожидания обработки асинхронной вставки.
wait_for_window_view_fire_signal_timeout
Тип: Секунды
Значение по умолчанию: 10
Таймаут для ожидания сигнала о срабатывании оконного представления в обработке временных событий.
window_view_clean_interval
Тип: Секунды
Значение по умолчанию: 60
Интервал очистки оконного представления в секундах для освобождения устаревших данных.
window_view_heartbeat_interval
Тип: Секунды
Значение по умолчанию: 15
Интервал сердцебиения в секундах для индикации активности запроса наблюдения.
workload
Тип: Строка
Значение по умолчанию: default
Имя нагрузки, используемой для доступа к ресурсам
write_through_distributed_cache
Тип: Bool
Значение по умолчанию: 0
Влияет только в ClickHouse Cloud. Разрешить запись в распределенный кэш (запись в s3 также будет осуществляться через распределенный кэш).
zstd_window_log_max
Тип: Int64
Значение по умолчанию: 0
Позволяет выбрать максимальный лог окна ZSTD (не будет использоваться для семейства MergeTree)