Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
max_analyze_depth
Максимальное количество выполняемых интерпретатором анализов.
max_autoincrement_series
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.1 | 1000 | новая настройка |
Ограничение на количество серий, создаваемых функцией generateSerialID.
Поскольку каждая серия представляет собой узел в Keeper, не рекомендуется создавать более пары миллионов таких серий.
max_backup_bandwidth
Максимальная скорость чтения в байтах в секунду для конкретной резервной копии на сервере. Ноль означает отсутствие ограничений.
max_block_size
В ClickHouse данные обрабатываются блоками, которые представляют собой наборы частей столбцов. Внутренние циклы обработки одного блока эффективны, но обработка каждого блока связана с заметными накладными расходами.
Настройка max_block_size задаёт рекомендуемое максимальное число строк в одном блоке при чтении данных из таблиц. Блоки размером max_block_size не всегда считываются из таблицы: если ClickHouse определяет, что нужно получить меньше данных, обрабатывается блок меньшего размера.
Размер блока не должен быть слишком маленьким, чтобы избежать заметных накладных расходов на обработку каждого блока. Но и слишком большим он тоже быть не должен, чтобы запросы с LIMIT выполнялись быстро после обработки первого блока. При настройке max_block_size следует стремиться не к чрезмерному расходу памяти при извлечении большого количества столбцов в нескольких потоках и сохранять хотя бы некоторую локальность кэша.
max_columns_to_read
Максимальное количество столбцов, которое можно прочитать из таблицы в рамках одного запроса. Если запрос требует чтения большего количества столбцов, чем указано, генерируется исключение.
Значение 0 означает отсутствие ограничений.
max_compress_block_size
Максимальный размер блоков несжатых данных перед их сжатием для записи в таблицу. По умолчанию — 1,048,576 (1 MiB). Указание меньшего размера блока обычно приводит к небольшому снижению коэффициента сжатия; при этом скорость сжатия и распаковки немного возрастает благодаря локальности кэша, а потребление памяти уменьшается.
Не путайте блоки для сжатия (фрагмент памяти, состоящий из байтов) с блоками для обработки запросов (набор строк из таблицы).
max_consume_snapshots
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.5 | 0 | Новая настройка |
Максимальное количество снимков Paimon, обрабатываемых за одно инкрементальное чтение. 0 означает, что ограничение отсутствует.
max_estimated_execution_time
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.1 | 0 | Разделены max_execution_time и max_estimated_execution_time |
Максимальное оценочное время выполнения запроса в секундах. Проверяется для каждого блока данных
после истечения timeout_before_checking_execution_speed.
max_expanded_ast_elements
Максимальный размер синтаксического дерева запроса в узлах после раскрытия псевдонимов и символа «звёздочка».
max_fetch_partition_retries_count
Количество повторных попыток при получении партиции с другого хоста.
max_final_threads
Задаёт максимальное количество параллельных потоков для фазы чтения данных в запросе SELECT с модификатором FINAL.
Возможные значения:
- Положительное целое число.
- 0 или 1 — отключено. Запросы
SELECTвыполняются в одном потоке.
max_http_get_redirects
Максимально допустимое число переходов по перенаправлениям HTTP GET. Обеспечивает дополнительную защиту от ситуации, когда вредоносный сервер перенаправляет ваши запросы к неожиданным сервисам.\n\nЭто возможно, когда внешний сервер перенаправляет на другой адрес, но этот адрес оказывается внутренним для инфраструктуры компании. В таком случае, отправив HTTP-запрос на внутренний сервер, вы можете обратиться к внутреннему API из внутренней сети, обойдя аутентификацию, или даже выполнить запрос к другим сервисам, таким как Redis или Memcached. Если у вас нет внутренней инфраструктуры (включая что-либо, работающее на вашем localhost) или вы доверяете серверу, перенаправления можно безопасно разрешить. Однако имейте в виду: если URL использует HTTP вместо HTTPS, вам придется доверять не только удаленному серверу, но и своему интернет-провайдеру, а также всем промежуточным сетям.
Значение по умолчанию в Cloud: 10.
max_limit_for_vector_search_queries
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.5 | 1000 | новая настройка |
Запросы SELECT с LIMIT больше этого значения не могут использовать индексы векторного сходства. Это помогает предотвратить переполнение памяти в индексах векторного сходства.
max_os_cpu_wait_time_ratio_to_throw
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.5 | 0 | Значения настройки были изменены и бэкпортированы в 25.4 |
| 25.4 | 0 | новая настройка |
Максимальное соотношение между временем ожидания CPU ОС (метрика OSCPUWaitMicroseconds) и временем занятости CPU (метрика OSCPUVirtualTimeMicroseconds), при превышении которого запросы могут отклоняться. Для вычисления вероятности используется линейная интерполяция между минимальным и максимальным соотношением; при этом значении вероятность равна 1.
max_parallel_replicas
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.1 | 1000 | По умолчанию используется до 1000 параллельных реплик. |
Максимальное количество реплик для каждого сегмента при выполнении запроса.
Возможные значения:
- Положительное целое число.
Дополнительная информация
Этот параметр может давать разные результаты в зависимости от используемых настроек.
Параллельная обработка с использованием ключа SAMPLE
Запрос может выполняться быстрее, если обрабатывается параллельно на нескольких серверах. Однако производительность запроса может снизиться в следующих случаях:
- Положение ключа выборки в ключе партиционирования не позволяет эффективно выполнять диапазонное сканирование.
- Добавление ключа выборки в таблицу снижает эффективность фильтрации по другим столбцам.
- Ключ выборки представляет собой выражение, вычисление которого требует значительных затрат.
- Распределение задержек в кластере имеет длинный хвост, поэтому выполнение запросов на большем числе серверов увеличивает их общую задержку.
Параллельная обработка с использованием parallel_replicas_custom_key
Этот параметр полезен для любой реплицируемой таблицы.
max_parsing_threads
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.4 | 0 | Добавлена отдельная настройка для управления числом потоков при параллельном разборе данных из файлов |
Максимальное число потоков для разбора данных во входных форматах, поддерживающих параллельный разбор. По умолчанию определяется автоматически.
max_partition_size_to_drop
Ограничение на удаление партиций во время выполнения запроса. Значение 0 означает, что партиции можно удалять без каких-либо ограничений.
Значение по умолчанию в Cloud: 1 TB.
max_parts_to_move
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.10 | 1000 | Новая настройка |
Ограничивает число частей, которые можно переместить в рамках одного запроса. Ноль означает отсутствие ограничений.
max_projection_rows_to_use_projection_index
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.11 | 1000000 | новая настройка |
Если количество строк, которые нужно прочитать из индекса проекции, меньше или равно этому порогу, ClickHouse попытается использовать индекс проекции при выполнении запроса.
max_query_size
Максимальное количество байтов в строке запроса, разбираемой SQL parser. Данные в предложении VALUES запросов INSERT обрабатываются отдельным потоковым parser (который потребляет O(1) оперативной памяти) и не подпадают под это ограничение.
max_recursive_cte_evaluation_depth
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.4 | 1000 | Максимально допустимая глубина вычисления рекурсивного CTE |
Максимально допустимая глубина вычисления рекурсивного CTE
max_replica_delay_for_distributed_queries
Отключает отстающие реплики для распределённых запросов. См. Репликация.
Задаёт время в секундах. Если отставание реплики больше или равно заданному значению, эта реплика не используется.
Возможные значения:
- Положительное целое число.
- 0 — Отставание реплик не проверяется.
Чтобы предотвратить использование любой реплики с ненулевым отставанием, установите этот параметр в 1.
Используется при выполнении SELECT из distributed таблицы, которая указывает на реплицированные таблицы.
max_reverse_dictionary_lookup_cache_size_bytes
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.12 | 104857600 | Новая настройка. Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией `dictGetKeys`. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса. |
Максимальный размер в байтах кэша обратного поиска в словаре для каждого запроса, используемого функцией dictGetKeys. Кэш хранит сериализованные кортежи ключей для каждого значения атрибута, чтобы избежать повторного сканирования словаря в рамках одного запроса. При достижении лимита записи вытесняются по алгоритму LRU. Установите 0, чтобы отключить кэширование.
max_sessions_for_user
Максимальное количество одновременных сеансов для каждого прошедшего аутентификацию пользователя на сервере ClickHouse.
Пример:
<profiles>
<single_session_profile>
<max_sessions_for_user>1</max_sessions_for_user>
</single_session_profile>
<two_sessions_profile>
<max_sessions_for_user>2</max_sessions_for_user>
</two_sessions_profile>
<unlimited_sessions_profile>
<max_sessions_for_user>0</max_sessions_for_user>
</unlimited_sessions_profile>
</profiles>
<users>
<!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
<Alice>
<profile>single_session_user</profile>
</Alice>
<!-- User Bob can use 2 simultaneous sessions. -->
<Bob>
<profile>two_sessions_profile</profile>
</Bob>
<!-- User Charles can use arbitrarily many of simultaneous sessions. -->
<Charles>
<profile>unlimited_sessions_profile</profile>
</Charles>
</users>Возможные значения:
- Положительное целое число
0— неограниченное количество одновременных сеансов (по умолчанию)
max_subquery_depth
Если запрос содержит больше указанного числа вложенных подзапросов, генерируется исключение.
max_table_size_to_drop
Ограничение на удаление таблиц во время выполнения запроса. Значение 0 означает, что можно удалять любые таблицы без ограничений.
Значение по умолчанию в Cloud: 1 ТБ.
max_untracked_memory
Небольшие выделения и освобождения памяти группируются в локальной переменной потока и отслеживаются или профилируются только тогда, когда их объём (по абсолютной величине) превышает указанное значение. Если это значение больше, чем 'memory_profiler_step', оно фактически будет уменьшено до 'memory_profiler_step'.
max_wkb_geometry_elements
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 1000000 | Новая настройка для ограничения количества элементов при разборе WKB-геометрии, предотвращающая чрезмерное выделение памяти на повреждённых данных. |
Максимальное количество точек, колец или полигонов, допустимое в одном элементе WKB-геометрии при разборе функцией readWKB и связанными с ней функциями. Это защищает от чрезмерного выделения памяти из-за повреждённых данных WKB. Установите значение 0, чтобы использовать встроенное ограничение (100 миллионов).