> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# paramètres de session use_statistics_*

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

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Version", "Valeur par défaut", "Commentaire"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historique des versions
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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](/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).

<h2 id="use_statistics">
  use\_statistics
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "Active cette optimisation par défaut."}]}]} />

/// préféré à 'allow\_statistics\_optimize' pour assurer la cohérence avec 'use\_primary\_key' et 'use\_skip\_indexes'
Permet d'utiliser les statistiques pour optimiser les requêtes

<h2 id="use_statistics_cache">
  use\_statistics\_cache
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "Activer le cache des statistiques"}]}, {"id": "row-2","items": [{"label": "25.11"},{"label": "0"},{"label": "Nouveau paramètre"}]}]} />

Utiliser le cache des statistiques dans une requête pour éviter le surcoût lié au chargement des statistiques de toutes les parts

<h2 id="use_statistics_for_min_max_aggregation">
  use\_statistics\_for\_min\_max\_aggregation
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "1"},{"label": "Nouveau paramètre permettant de répondre aux agrégations `min`, `max` et `count` sans `GROUP BY` ni filtres à partir des statistiques de colonnes par part, pour les parts qui les ont matérialisées, en ne lisant que les parts restantes. previous_value=false, de sorte que la `compatibility` avec les versions antérieures à 26.9 laisse l'optimisation désactivée et rétablit le plan préexistant."}]}]} />

Répondre aux agrégations `min`, `max` et `count` à partir des statistiques de colonnes par part plutôt qu'en lisant les données.

Lorsque ce paramètre est activé, une requête de la forme `SELECT min(column), max(column), count() FROM table` sans `GROUP BY` ni filtres
est traitée à partir des statistiques de colonnes (par exemple les statistiques MinMax, voir le paramètre MergeTree `auto_statistics_types`)
pour les data parts qui les ont matérialisées, et seules les parts restantes sont lues.

Valeurs possibles :

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

<h2 id="use_statistics_for_part_pruning">
  use\_statistics\_for\_part\_pruning
</h2>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "Nouveau paramètre permettant d’utiliser les statistiques pour l’élagage des parts lors de l’exécution des requêtes."}]}]} />

Utilise les statistiques pour filtrer les parts lors de l’exécution des requêtes.

Lorsqu’il est activé, l’élagage dans les requêtes SELECT s’appuie sur les statistiques de colonnes (par ex. les statistiques MinMax) pour éliminer les parts qui ne peuvent pas contenir de données correspondantes avant de lire la moindre donnée.

Valeurs possibles :

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