> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# настройки сеанса max_rows_*

> Настройки сеанса ClickHouse из сгенерированной группы max_rows_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_rows_for_lazy_final">
  ## max\_rows\_for\_lazy\_final
</div>

<SettingsInfoBlock type="UInt64" default_value="10000000" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "10000000"},{"label": "Новая настройка: максимальное количество строк во множестве для отложенной оптимизации FINAL"}]}]} />

Максимальное количество строк во множестве для отложенной оптимизации FINAL. При превышении этого значения используется обычный FINAL.

<div id="max_rows_in_distinct">
  ## max\_rows\_in\_distinct
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество уникальных строк при использовании DISTINCT.

<div id="max_rows_in_join">
  ## max\_rows\_in\_join
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Ограничивает количество строк в правосторонней структуре данных (обычно hash-таблице), используемой при JOIN таблиц.

Этот параметр применяется к операциям [SELECT ... JOIN](/docs/ru/reference/statements/select/join) и к движку таблицы [Join](/docs/ru/reference/engines/table-engines/special/join).

Если запрос содержит несколько JOIN, ClickHouse проверяет этот параметр для каждого промежуточного результата. При достижении ограничения дальнейшее поведение зависит от выбранного [`join_algorithm`](/docs/ru/reference/settings/session-settings/join#join_algorithm) — описание поведения для каждого алгоритма см. в этом параметре (spill, повторное разбиение на партиции, переключение или throw/break в соответствии с [`join_overflow_mode`](/docs/ru/reference/settings/session-settings/join#join_overflow_mode)).

Возможные значения:

* Положительное целое число.
* `0` — Неограниченное количество строк.

<div id="max_rows_in_set">
  ## max\_rows\_in\_set
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество строк в наборе данных для условия IN, созданного из подзапроса.

<div id="max_rows_in_set_to_optimize_join">
  ## max\_rows\_in\_set\_to\_optimize\_join
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Отключить оптимизацию JOIN, так как она препятствует оптимизации чтения по порядку"}]}]} />

Максимальный размер множества, используемого для фильтрации соединяемых таблиц по наборам строк друг друга перед JOIN.

Возможные значения:

* 0 — Отключено.
* Любое положительное целое число.

<div id="max_rows_to_group_by">
  ## max\_rows\_to\_group\_by
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество уникальных ключей, получаемых при агрегации. Эта настройка позволяет
ограничить расход памяти при агрегации.

Если во время агрегации с GROUP BY создаётся больше указанного количества
строк (уникальных ключей GROUP BY), поведение определяется
'group\_by\_overflow\_mode', который по умолчанию имеет значение `throw`, но его также можно переключить
в приблизительный режим GROUP BY.

<div id="max_rows_to_read">
  ## max\_rows\_to\_read
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество строк, которое можно прочитать из таблицы при выполнении запроса.
Ограничение проверяется для каждого обработанного фрагмента данных, применяется только к
наиболее глубокому табличному выражению, а при чтении с удалённого сервера проверяется только на
удалённом сервере.

<div id="max_rows_to_read_leaf">
  ## max\_rows\_to\_read\_leaf
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество строк, которое можно прочитать из локальной таблицы на листовом узле при
выполнении распределённого запроса. Хотя распределённые запросы могут отправлять несколько подзапросов
на каждый сегмент (листовой узел), это ограничение проверяется только на стадии чтения на
листовых узлах и не учитывается на стадии слияния результатов на корневом узле.

Например, кластер состоит из 2 сегментов, и каждый сегмент содержит таблицу со
100 строками. Распределённый запрос, который должен прочитать все данные из обеих
таблиц с настройкой `max_rows_to_read=150`, завершится ошибкой, так как всего будет
200 строк. Запрос с `max_rows_to_read_leaf=150` выполнится успешно, поскольку листовые узлы
прочитают не более 100 строк.

Ограничение проверяется для каждого обработанного фрагмента данных.

<Note>
  Эта настройка нестабильна при `prefer_localhost_replica=1`.
</Note>

<div id="max_rows_to_sort">
  ## max\_rows\_to\_sort
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество строк для сортировки. Это позволяет ограничить потребление памяти при сортировке.
Если для операции ORDER BY требуется обработать больше записей, чем указано,
поведение будет определяться параметром `sort_overflow_mode`, который по умолчанию имеет значение `throw`.

<div id="max_rows_to_transfer">
  ## max\_rows\_to\_transfer
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

Максимальное количество строк, которое можно передать на удалённый сервер или сохранить во
временной таблице при выполнении секции GLOBAL IN/JOIN.
