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

> Paramètres de session de ClickHouse dans le groupe généré use_top_k_dynamic_filtering_*.

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="use_top_k_dynamic_filtering">
  ## use\_top\_k\_dynamic\_filtering
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Activer par défaut l’optimisation du filtrage dynamique pour les requêtes TopK"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "0"},{"label": "Nouveau paramètre."}]}]} />

Active l’optimisation du filtrage dynamique lors de l’exécution d’une requête `ORDER BY <column> LIMIT n`.

Lorsqu’elle est activée, le moteur d’exécution de la requête tentera d’ignorer les granules et les lignes qui ne feront pas partie des `top N` lignes finales du jeu de résultats. Cette optimisation est de nature dynamique, et les améliorations de latence dépendent de la distribution des données et de la présence d’autres prédicats dans la requête.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.

<div id="use_top_k_dynamic_filtering_for_variable_length_types">
  ## use\_top\_k\_dynamic\_filtering\_for\_variable\_length\_types
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Désactive `use_top_k_dynamic_filtering` par défaut pour les colonnes de tri de longueur variable (par ex. `String`) ; le comportement précédent appliquait cette optimisation sans condition et est conservé avec `compatibility`."}]}]} />

Permet à `use_top_k_dynamic_filtering` de s’appliquer lorsque la colonne de tri utilise un type de données de longueur variable (par ex. `String`, `Array`, `Map`, `Tuple` contenant des éléments de longueur variable).

Pour ces types, la comparaison du seuil ligne par ligne effectuée par le filtre dynamique peut coûter plus qu’elle ne rapporte lorsque le minimum lexicographique de la colonne prédomine (par ex. des chaînes majoritairement vides) et que peu de granules peuvent être ignorées. Dans ce cas, le filtre dynamique dégrade la latence de la requête au lieu de l’améliorer.

Lorsque ce paramètre vaut `0`, le filtrage dynamique est limité aux colonnes dont les valeurs ont une taille maximale fixe en mémoire (nombres, `Date`, `DateTime`, `FixedString`, `Enum`, `Nullable` de ces types, `Tuple` de ces types). Lorsqu’il est défini sur `1`, le filtrage dynamique s’applique aussi aux types de longueur variable.

Valeurs possibles :

* 0 — Désactivé.
* 1 — Activé.
