> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

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

> Настройки сеанса ClickHouse в автоматически сгенерированной группе max_execution_*.

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](/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="max_execution_speed">
  ## max\_execution\_speed
</div>

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

Максимальное количество строк, обрабатываемых в секунду. Проверяется на каждом блоке данных по истечении
[`timeout_before_checking_execution_speed`](/ru/reference/settings/session-settings/other#timeout_before_checking_execution_speed).
Если скорость выполнения слишком высока, она будет снижена.

<div id="max_execution_speed_bytes">
  ## max\_execution\_speed\_bytes
</div>

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

Максимальное количество байт, обрабатываемых в секунду. Проверяется на каждом блоке данных после истечения
[`timeout_before_checking_execution_speed`](/ru/reference/settings/session-settings/other#timeout_before_checking_execution_speed).
Если скорость выполнения слишком высока, она будет снижена.

<div id="max_execution_time">
  ## max\_execution\_time
</div>

<SettingsInfoBlock type="Секунды" default_value="0" />

Максимальное время выполнения запроса в секундах.

Параметр `max_execution_time` бывает не так просто понять.
Он работает на основе интерполяции относительно текущей скорости выполнения запроса
(это поведение задаётся параметром [`timeout_before_checking_execution_speed`](/ru/reference/settings/session-settings/other#timeout_before_checking_execution_speed)).

ClickHouse прервёт запрос, если прогнозируемое время выполнения превысит
указанное значение `max_execution_time`. По умолчанию параметр `timeout_before_checking_execution_speed`
равен 10 секундам. Это означает, что после 10 секунд выполнения запроса ClickHouse
начнёт оценивать общее время выполнения. Если, например, для `max_execution_time`
задано 3600 секунд (1 час), ClickHouse завершит запрос, если расчётное
время превысит этот лимит в 3600 секунд. Если установить `timeout_before_checking_execution_speed`
в 0, ClickHouse будет использовать фактическое время по часам как основу для `max_execution_time`.

Если время выполнения запроса превысит указанное число секунд, поведение будет
определяться параметром `timeout_overflow_mode`, который по умолчанию установлен в `throw`.

<Note>
  Тайм-аут проверяется, и запрос может быть остановлен только в определённых точках во время обработки данных.
  Сейчас его нельзя остановить во время слияния состояний агрегации или во время анализа запроса,
  поэтому фактическое время выполнения будет больше значения этой настройки.
</Note>

<div id="max_execution_time_leaf">
  ## max\_execution\_time\_leaf
</div>

<SettingsInfoBlock type="Секунды" default_value="0" />

По смыслу аналогично [`max_execution_time`](/ru/reference/settings/session-settings/max-execution#max_execution_time), но применяется только
на листовых узлах для распределённых или удалённых запросов.

Например, если мы хотим ограничить время выполнения на листовом узле значением `10s`, но
не задавать ограничение на исходном узле, то вместо использования `max_execution_time` в
настройках вложенного подзапроса:

```sql theme={null}
SELECT count()
FROM cluster(cluster, view(SELECT * FROM t SETTINGS max_execution_time = 10));
```

Можно использовать `max_execution_time_leaf` в настройках запроса:

```sql theme={null}
SELECT count()
FROM cluster(cluster, view(SELECT * FROM t)) SETTINGS max_execution_time_leaf = 10;
```
