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

max_streams_for_files_processing_in_cluster_functions

Если значение не равно нулю, ограничивает количество потоков, читающих данные из файлов в *табличных функциях cluster.

max_streams_for_merge_tree_reading

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

max_streams_for_union_step

Ограничивает число одновременно активных потоков данных на шаге UNION (применяется как к UNION ALL, так и к UNION DISTINCT, поскольку UNION DISTINCT реализуется через шаг UNION ALL, за которым следует шаг DISTINCT). Если запрос UNION содержит много подзапросов, все они одновременно открывают свои буферы чтения, из-за чего использование памяти становится пропорциональным числу подзапросов. Эта настройка добавляет процессоры Concat, чтобы сузить конвейер и обеспечить одновременную активность не более указанного числа потоков, что значительно снижает пиковое потребление памяти. Фактическое ограничение — это минимум из этого значения и max_threads * max_streams_for_union_step_to_max_threads_ratio (если любое из них равно 0, оно игнорируется). Если оба значения равны 0, сужение не применяется. Ограничение также не применяется, если план запроса требует, чтобы каждый выходной поток UNION оставался отдельно отсортированным (например, когда для UNION применяется оптимизация чтения по порядку); в таком случае корректность порядка имеет приоритет, и сужение пропускается.

max_streams_for_union_step_to_max_threads_ratio

Этот коэффициент, умноженный на max_threads, задаёт ограничение на число одновременно активных потоков на шаге UNION (применяется как к UNION ALL, так и к UNION DISTINCT). Фактическое ограничение — это минимум из этого вычисленного значения и max_streams_for_union_step (если любое из них равно 0, оно игнорируется). Например, при max_threads = 8 и значении этого коэффициента 1 одновременно будут активны не более 8 потоков. Установите 0, чтобы отключить это ограничение, зависящее от коэффициента. Как и в случае с max_streams_for_union_step, ограничение не применяется, если план запроса требует, чтобы каждый выходной поток UNION оставался отсортированным отдельно.

max_streams_multiplier_for_merge_tables

Запрашивает больше потоков при чтении из Merge table. Потоки будут распределяться между таблицами, которые использует Merge table. Это позволяет более равномерно распределять нагрузку между потоками и особенно полезно, когда эти таблицы различаются по размеру.

max_streams_to_max_threads_ratio

Позволяет использовать больше источников, чем потоков, чтобы нагрузка распределялась между потоками равномернее. Это считается временным решением: в будущем число источников можно будет сделать равным числу потоков, при этом каждый источник сможет динамически выбирать доступную для него работу.
Последнее изменение 23 июля 2026 г.