> ## 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 short_circuit_function_evaluation_*

> Paramètres de session ClickHouse du groupe généré short_circuit_function_evaluation_*.

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="short_circuit_function_evaluation">
  ## short\_circuit\_function\_evaluation
</div>

<SettingsInfoBlock type="ShortCircuitFunctionEvaluation" default_value="enable" />

Permet de calculer les fonctions [if](/docs/fr/reference/functions/regular-functions/conditional-functions#if), [multiIf](/docs/fr/reference/functions/regular-functions/conditional-functions#multiIf), [and](/docs/fr/reference/functions/regular-functions/logical-functions#and) et [or](/docs/fr/reference/functions/regular-functions/logical-functions#or) selon le principe de l’[évaluation en court-circuit](https://en.wikipedia.org/wiki/Short-circuit_evaluation). Cela permet d’optimiser l’exécution des expressions complexes dans ces fonctions et d’éviter d’éventuelles exceptions (comme une division par zéro lorsqu’elle n’est pas attendue).

Valeurs possibles :

* `enable` — Active l’évaluation en court-circuit pour les fonctions qui s’y prêtent (celles qui peuvent lever une exception ou sont coûteuses en calcul).
* `force_enable` — Active l’évaluation en court-circuit pour toutes les fonctions.
* `disable` — Désactive l’évaluation en court-circuit.

<div id="short_circuit_function_evaluation_for_nulls">
  ## short\_circuit\_function\_evaluation\_for\_nulls
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Permet d’exécuter les fonctions avec des arguments Nullable uniquement sur les lignes dont tous les arguments ont des valeurs non NULL"}]}]} />

Optimise l’évaluation des fonctions qui renvoient NULL dès qu’un argument est NULL. Lorsque le pourcentage de valeurs NULL dans les arguments de la fonction dépasse le seuil short\_circuit\_function\_evaluation\_for\_nulls\_threshold, le système évite d’évaluer la fonction ligne par ligne. À la place, il renvoie immédiatement NULL pour toutes les lignes, ce qui évite des calculs inutiles.

<div id="short_circuit_function_evaluation_for_nulls_threshold">
  ## short\_circuit\_function\_evaluation\_for\_nulls\_threshold
</div>

<SettingsInfoBlock type="Double" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Seuil de proportion de valeurs NULL à partir duquel les fonctions avec des arguments Nullable sont exécutées uniquement sur les lignes dont tous les arguments ont des valeurs non-NULL. S'applique lorsque le paramètre short_circuit_function_evaluation_for_nulls est activé."}]}]} />

Seuil de proportion de valeurs NULL à partir duquel les fonctions avec des arguments Nullable sont exécutées uniquement sur les lignes dont tous les arguments ont des valeurs non-NULL. S'applique lorsque le paramètre short\_circuit\_function\_evaluation\_for\_nulls est activé.
Lorsque la proportion de lignes contenant des valeurs NULL par rapport au nombre total de lignes dépasse ce seuil, ces lignes contenant des valeurs NULL ne sont pas évaluées.
