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

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

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_insert_block_size">
  ## max\_insert\_block\_size
</div>

**Alias** : `max_insert_block_size_rows`

<SettingsInfoBlock type="NonZeroUInt64" default_value="1048449" />

Taille maximale des blocs (en nombre de lignes) à former pour l'insertion dans une table.

Ce paramètre contrôle la formation des blocs dans deux contextes :

1. Analyse des formats : lorsque le serveur analyse des formats d'entrée orientés lignes (CSV, TSV, JSONEachRow, etc.) depuis n'importe quelle interface (HTTP, clickhouse-client avec des données intégrées, gRPC, protocole wire de PostgreSQL), les blocs sont émis lorsque :

   * Les deux seuils min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes sont atteints, OR
   * L'un des deux seuils max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes est atteint

   Remarque : lorsque vous utilisez clickhouse-client ou clickhouse-local pour lire à partir d'un fichier, c'est le client lui-même qui analyse les données, et ce paramètre s'applique côté client.

2. Opérations INSERT : pendant les requêtes INSERT et lorsque les données transitent par des vues matérialisées, le comportement de ce paramètre dépend de `use_strict_insert_block_limits` :

   * Lorsqu'il est activé : les blocs sont émis lorsque :
     * Seuils minimums (AND) : les deux seuils min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes sont atteints
     * Seuils maximums (OR) : l'un des deux seuils max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes est atteint

   * Lorsqu'il est désactivé : les blocs sont émis lorsque min\_insert\_block\_size\_rows OR min\_insert\_block\_size\_bytes est atteint. Les paramètres max\_insert\_block\_size ne sont pas appliqués.

Valeurs possibles :

* Entier positif.

<div id="max_insert_block_size_bytes">
  ## max\_insert\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "Nouveau paramètre permettant de contrôler la taille des blocs, en octets, lors de l'analyse des données dans un format d'entrée de type ligne."}]}]} />

Taille maximale des blocs (en octets) à former pour l'insertion dans une table.

Ce paramètre fonctionne avec max\_insert\_block\_size\_rows et contrôle la formation des blocs dans le même contexte. Consultez max\_insert\_block\_size\_rows pour savoir en détail quand et comment ces paramètres sont appliqués.

Valeurs possibles :

* Entier positif.
* 0 — le paramètre n'entre pas en compte dans la formation des blocs.

<div id="max_insert_delayed_streams_for_parallel_write">
  ## max\_insert\_delayed\_streams\_for\_parallel\_write
</div>

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

Le nombre maximal de flux (colonnes) pour lesquels le flush final des parts est retardé. Par défaut : auto (100 si le stockage sous-jacent prend en charge l’écriture parallèle, par exemple S3, et désactivé dans le cas contraire)

Valeur par défaut dans Cloud : `50`.

<div id="max_insert_threads">
  ## max\_insert\_threads
</div>

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

Le nombre maximal de threads pour exécuter la requête `INSERT SELECT`.

Valeurs possibles :

* 0 (ou 1) — aucune exécution en parallèle de `INSERT SELECT`.
* Entier positif, supérieur à 1.

Valeur par défaut dans Cloud :

* `1` pour les nœuds avec 8 Gio de mémoire
* `2` pour les nœuds avec 16 Gio de mémoire
* `4` pour les nœuds plus grands

L’exécution en parallèle de `INSERT SELECT` n’a d’effet que si la partie `SELECT` est elle aussi exécutée en parallèle ; voir le paramètre [`max_threads`](/docs/fr/reference/settings/session-settings/max-threads#max_threads).
Des valeurs plus élevées entraîneront une utilisation de la mémoire plus importante.

<div id="max_insert_threads_min_free_memory_per_thread">
  ## max\_insert\_threads\_min\_free\_memory\_per\_thread
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "4294967296"},{"label": "Nouveau paramètre pour limiter le nombre de threads d’insertion en fonction de la mémoire libre disponible"}]}]} />

Identique à `max_threads_min_free_memory_per_thread`, mais appliqué à `max_insert_threads` plutôt qu’à `max_threads`. La valeur par défaut est plus élevée, car les pipelines d’insertion utilisent généralement des buffers par thread plus volumineux (parts MergeTree, blocs de compression) que les pipelines de lecture.

Si la quantité de mémoire libre est inférieure à `max_insert_threads` multiplié par cette valeur, `max_insert_threads` est réduit en conséquence, avec un minimum de `1`.

Définissez cette valeur sur `0` pour désactiver cette limite.
