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

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

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](/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="shrink_over_allocated_columns_min_waste_bytes">
  ## shrink\_over\_allocated\_columns\_min\_waste\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "16777216"},{"label": "Nouveau paramètre : quantité minimale absolue de mémoire inutilisée dans une colonne pour qu'elle soit redimensionnée lors d'un INSERT."}]}]} />

Quantité minimale absolue de mémoire inutilisée (réservée mais non utilisée) dans une colonne, en octets, pour qu'elle soit redimensionnée lors d'un INSERT. Consultez [shrink\_over\_allocated\_columns\_min\_waste\_ratio](/docs/fr/reference/settings/session-settings/shrink-over#shrink_over_allocated_columns_min_waste_ratio).

Empêche la réallocation des colonnes dont la surallocation est faible lorsque l'économie de mémoire ne justifie pas le coût.

<div id="shrink_over_allocated_columns_min_waste_ratio">
  ## shrink\_over\_allocated\_columns\_min\_waste\_ratio
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1"},{"label": "Nouveau paramètre permettant de réduire les colonnes surallouées à la taille nécessaire lors de l'INSERT afin de diminuer le pic d'utilisation de la mémoire. Désactivé par défaut (1.0)."}]}]} />

Lors de l'INSERT, les colonnes surallouées (dont la mémoire réservée dépasse la mémoire utilisée, par exemple en raison de l'augmentation par puissances de deux des colonnes de longueur variable) sont réduites à la taille nécessaire avant les coûteuses étapes de matérialisation et d'écriture des parties, afin de diminuer le pic d'utilisation de la mémoire.

Une colonne n'est réduite que lorsque `allocatedBytes() > byteSize() * shrink_over_allocated_columns_min_waste_ratio` et que le gaspillage absolu est d'au moins `shrink_over_allocated_columns_min_waste_bytes`.

Valeurs possibles :

* Nombre à virgule flottante supérieur à 1.
* Une valeur inférieure ou égale à 1 désactive la réduction (la valeur par défaut `1.0` la laisse désactivée).
