Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
Максимальное количество строк во множестве для отложенной оптимизации FINAL. При превышении этого значения используется обычный FINAL.
Максимальное количество уникальных строк при использовании DISTINCT.
Ограничивает количество строк в правосторонней структуре данных (обычно hash-таблице), используемой при JOIN таблиц.
Этот параметр применяется к операциям SELECT … JOIN и к движку таблицы Join.
Если запрос содержит несколько JOIN, ClickHouse проверяет этот параметр для каждого промежуточного результата. При достижении ограничения дальнейшее поведение зависит от выбранного join_algorithm — описание поведения для каждого алгоритма см. в этом параметре (spill, повторное разбиение на партиции, переключение или throw/break в соответствии с join_overflow_mode).
Возможные значения:
- Положительное целое число.
0 — Неограниченное количество строк.
Максимальное количество строк в наборе данных для условия IN, созданного из подзапроса.
max_rows_in_set_to_optimize_join
Максимальный размер множества, используемого для фильтрации соединяемых таблиц по наборам строк друг друга перед JOIN.
Возможные значения:
- 0 — Отключено.
- Любое положительное целое число.
Максимальное количество уникальных ключей, получаемых при агрегации. Эта настройка позволяет
ограничить расход памяти при агрегации.
Если во время агрегации с GROUP BY создаётся больше указанного количества
строк (уникальных ключей GROUP BY), поведение определяется
‘group_by_overflow_mode’, который по умолчанию имеет значение throw, но его также можно переключить
в приблизительный режим GROUP BY.
Максимальное количество строк, которое можно прочитать из таблицы при выполнении запроса.
Ограничение проверяется для каждого обработанного фрагмента данных, применяется только к
наиболее глубокому табличному выражению, а при чтении с удалённого сервера проверяется только на
удалённом сервере.
Максимальное количество строк, которое можно прочитать из локальной таблицы на листовом узле при
выполнении распределённого запроса. Хотя распределённые запросы могут отправлять несколько подзапросов
на каждый сегмент (листовой узел), это ограничение проверяется только на стадии чтения на
листовых узлах и не учитывается на стадии слияния результатов на корневом узле.
Например, кластер состоит из 2 сегментов, и каждый сегмент содержит таблицу со
100 строками. Распределённый запрос, который должен прочитать все данные из обеих
таблиц с настройкой max_rows_to_read=150, завершится ошибкой, так как всего будет
200 строк. Запрос с max_rows_to_read_leaf=150 выполнится успешно, поскольку листовые узлы
прочитают не более 100 строк.
Ограничение проверяется для каждого обработанного фрагмента данных.
Эта настройка нестабильна при prefer_localhost_replica=1.
Максимальное количество строк для сортировки. Это позволяет ограничить потребление памяти при сортировке.
Если для операции ORDER BY требуется обработать больше записей, чем указано,
поведение будет определяться параметром sort_overflow_mode, который по умолчанию имеет значение throw.
Максимальное количество строк, которое можно передать на удалённый сервер или сохранить во
временной таблице при выполнении секции GLOBAL IN/JOIN. Последнее изменение 23 июля 2026 г.