> ## 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.

# paramètres de session max_execution_*

> Paramètres de session ClickHouse du groupe généré 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
  }}>Type</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Par défaut</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modifiable sans redémarrage
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Ces paramètres sont disponibles dans [system.settings](/docs/fr/reference/system-tables/settings) et sont générés automatiquement à partir du [code source](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" />

Nombre maximal de lignes traitées par seconde. Ce paramètre est vérifié sur chaque bloc de données lorsque
[`timeout_before_checking_execution_speed`](/docs/fr/reference/settings/session-settings/other#timeout_before_checking_execution_speed)
expire. Si la vitesse d'exécution est trop élevée, elle sera réduite.

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

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

Le nombre maximal d’octets traités par seconde. Cette limite est vérifiée pour chaque bloc de données lorsque
[`timeout_before_checking_execution_speed`](/docs/fr/reference/settings/session-settings/other#timeout_before_checking_execution_speed)
expire. Si la vitesse d’exécution est trop élevée, elle sera réduite.

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

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

Le temps d’exécution maximal d’une requête, en secondes.

Le paramètre `max_execution_time` peut être un peu délicat à comprendre.
Il fonctionne sur la base d’une interpolation relative à la vitesse d’exécution actuelle de la requête
(ce comportement est contrôlé par [`timeout_before_checking_execution_speed`](/docs/fr/reference/settings/session-settings/other#timeout_before_checking_execution_speed)).

ClickHouse interrompra une requête si le temps d’exécution estimé dépasse la valeur
spécifiée par `max_execution_time`. Par défaut, `timeout_before_checking_execution_speed`
est défini sur 10 secondes. Cela signifie qu’après 10 secondes d’exécution de la requête, ClickHouse
commencera à estimer le temps d’exécution total. Si, par exemple, `max_execution_time`
est défini sur 3600 secondes (1 heure), ClickHouse mettra fin à la requête si la durée estimée
dépasse cette limite de 3600 secondes. Si vous définissez `timeout_before_checking_execution_speed`
sur 0, ClickHouse utilisera le temps écoulé comme base pour `max_execution_time`.

Si le temps d’exécution de la requête dépasse le nombre de secondes spécifié, le comportement sera
déterminé par 'timeout\_overflow\_mode', qui est défini par défaut sur `throw`.

<Note>
  Le délai d’expiration n’est vérifié et la requête ne peut s’arrêter qu’à des endroits précis pendant le traitement des données.
  Actuellement, elle ne peut pas s’arrêter pendant la fusion des états d’agrégation ni pendant l’analyse de la requête,
  et le temps d’exécution réel sera supérieur à la valeur de ce paramètre.
</Note>

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

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

Sémantiquement similaire à [`max_execution_time`](/docs/fr/reference/settings/session-settings/max-execution#max_execution_time), mais
appliqué uniquement aux nœuds feuilles pour les requêtes distribuées ou distantes.

Par exemple, si l’on veut limiter le temps d’exécution sur un nœud feuille à `10s` tout en
n’ayant aucune limite sur le nœud initial, au lieu d’avoir `max_execution_time` dans les
paramètres de la sous-requête imbriquée :

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

Nous pouvons utiliser `max_execution_time_leaf` comme paramètre de requête :

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