Skip to main content
Эти настройки доступны в system.settings и автоматически генерируются из исходного кода.

max_insert_block_size

Псевдонимы: max_insert_block_size_rows Максимальный размер блоков (по числу строк), формируемых для вставки в таблицу. Этот параметр управляет формированием блоков в двух контекстах:
  1. Разбор форматов: когда сервер разбирает входные построчные форматы (CSV, TSV, JSONEachRow и т. д.) через любой интерфейс (HTTP, clickhouse-client со встроенными данными, gRPC, PostgreSQL wire protocol), блоки формируются, когда:
    • Достигнуты оба порога: min_insert_block_size_rows И min_insert_block_size_bytes, ИЛИ
    • Достигнут любой из порогов: max_insert_block_size_rows ИЛИ max_insert_block_size_bytes
    Примечание: при использовании clickhouse-client или clickhouse-local для чтения из файла данные разбирает сам клиент, и этот параметр применяется на стороне клиента.
  2. Операции INSERT: во время запросов INSERT и при прохождении данных через materialized views поведение этого параметра зависит от use_strict_insert_block_limits:
    • Когда включено: блоки формируются, когда:
      • Минимальные пороги (И): достигнуты оба значения min_insert_block_size_rows И min_insert_block_size_bytes
      • Максимальные пороги (ИЛИ): достигнуто либо значение max_insert_block_size_rows, либо max_insert_block_size_bytes
    • Когда отключено: блоки формируются, когда достигнуто значение min_insert_block_size_rows ИЛИ min_insert_block_size_bytes. Параметры max_insert_block_size не применяются.
Возможные значения:
  • Положительное целое число.

max_insert_block_size_bytes

Максимальный размер блоков (в байтах), формируемых для вставки в таблицу. Эта настройка работает вместе с max_insert_block_size_rows и управляет формированием блоков в одном и том же контексте. Подробную информацию о том, когда и как применяются эти настройки, см. в описании max_insert_block_size_rows. Возможные значения:
  • Положительное целое число.
  • 0 — настройка не участвует в формировании блоков.

max_insert_delayed_streams_for_parallel_write

Максимальное количество потоков (столбцов), для которых откладывается финальный сброс части. По умолчанию — auto (100, если нижележащее хранилище поддерживает параллельную запись, например S3, в противном случае отключено) Значение по умолчанию в Cloud: 50.

max_insert_threads

Максимальное число потоков для выполнения запроса INSERT. Применяется как к INSERT SELECT, так и к обычному INSERT, данные для которого отправляются из clickhouse-client или через HTTP-интерфейс. Сторона записи конвейера (укрупнение блоков и запись в целевую таблицу) распараллеливается на количество потоков до указанного значения. Возможные значения:
  • 0 — Автоматически. Используется число CPU-ядер, доступных серверу (то же автоматическое значение, что и у max_threads), которое при нехватке памяти уменьшается параметром max_insert_threads_min_free_memory_per_thread.
  • 1 — INSERT выполняется в одном потоке (без параллельного выполнения). Используйте это значение, чтобы сохранить порядок вставки в INSERT ... SELECT.
  • Положительное целое число больше 1 — параллельное выполнение с указанным числом потоков.
До версии 26.8 значением по умолчанию было 1 (без параллельного выполнения). Начиная с версии 26.8 значение по умолчанию (0) соответствует числу CPU-ядер, поэтому INSERT по умолчанию выполняется параллельно. Установите для max_insert_threads значение 1 (или используйте настройку compatibility), чтобы восстановить прежнее поведение. Значение по умолчанию в Cloud:
  • 1 для узлов с 8 GiB памяти
  • 2 для узлов с 16 GiB памяти
  • 4 для более крупных узлов
Параллельный INSERT SELECT работает, только если часть SELECT выполняется параллельно; см. настройку max_threads. Для обычного INSERT входные данные считываются и разбираются в одном потоке, после чего конвейер для записи масштабируется до указанного количества потоков. Параллелизация на стороне записи применяется только к синхронным обычным INSERT: асинхронные вставки (async_insert = 1) помещаются в очередь и сбрасываются на диск в фоновом режиме, поэтому эта настройка на них не влияет и они всегда обрабатываются в одном потоке. Сторона записи распараллеливается, только когда это безопасно; в противном случае она остаётся однопоточной, и эта настройка на неё не влияет. В частности, запись остаётся однопоточной, если включён use_strict_insert_block_limits, целевая таблица (или таблица, в которую она перенаправляет данные) выполняет дедупликацию вставляемых блоков и для запроса включена дедупликация вставок (см. deduplicate_insert), если у пункта назначения есть зависимые materialized view — включая представления таблицы, в которую пункт назначения перенаправляет данные, например за Alias, — (если только не включён parallel_view_processing и в цепочках зависимых представлений отсутствуют риски дедупликации: дедупликация в представлениях отключена (deduplicate_blocks_in_dependent_materialized_views) или ни один путь зависимых представлений не может выполнять дедупликацию), а также всегда для пунктов назначения Buffer и Distributed. Buffer сбрасывает данные в собственном контексте, а Distributed пересылает запись на удалённый шард (который сам может буферизовать данные), поэтому настройки дедупликации этого запроса не управляют конечной записью, и она остаётся однопоточной независимо от них. Непараллельная вставка с кворумом (insert_quorum равно 2 или больше либо 'auto', а insert_quorum_parallel отключён) также остаётся однопоточной, поскольку допускает только одну незавершённую кворумную часть на таблицу. Более высокие значения приводят к большему использованию памяти.

max_insert_threads_min_free_memory_per_thread

То же, что и max_threads_min_free_memory_per_thread, но применяется к max_insert_threads, а не к max_threads. Значение по умолчанию выше, поскольку конвейеры вставки обычно используют более крупные буферы на поток (части MergeTree, блоки сжатия), чем конвейеры чтения. Если объём свободной памяти меньше, чем max_insert_threads, умноженное на это значение, max_insert_threads уменьшается до допустимого значения, но не ниже 1. Установите 0, чтобы отключить это ограничение.
Последнее изменение 14 августа 2026 г.