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

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

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>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Fonctionnalité expérimentale. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">En savoir plus.</a></u>
        </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_analyze_depth">
  ## max\_analyze\_depth
</div>

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

Nombre maximal d’analyses effectuées par l’interpréteur.

<div id="max_autoincrement_series">
  ## max\_autoincrement\_series
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Nouveau paramètre"}]}]} />

Limite du nombre de séries créées par la fonction `generateSerialID`.

Chaque série représentant un nœud dans Keeper, il est recommandé de ne pas en avoir plus de quelques millions.

<div id="max_backup_bandwidth">
  ## max\_backup\_bandwidth
</div>

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

Le débit de lecture maximal, en octets par seconde, pour une sauvegarde donnée sur le serveur. Zéro signifie illimité.

<div id="max_block_size">
  ## max\_block\_size
</div>

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

Dans ClickHouse, les données sont traitées par blocs, qui sont des ensembles de fragments de colonnes. Les cycles internes de traitement d'un bloc unique sont efficaces, mais le traitement de chaque bloc entraîne des surcoûts notables.

Le paramètre `max_block_size` indique le nombre maximal recommandé de lignes à inclure dans un seul bloc lors du chargement des données depuis les tables. Des blocs de la taille de `max_block_size` ne sont pas toujours chargés depuis la table : si ClickHouse détermine qu'il y a moins de données à récupérer, un bloc plus petit est traité.

La taille des blocs ne doit pas être trop petite, afin d'éviter des surcoûts notables lors du traitement de chaque bloc. Elle ne doit pas non plus être trop grande, afin de garantir que les requêtes avec une clause LIMIT s'exécutent rapidement après le traitement du premier bloc. Lors du réglage de `max_block_size`, l'objectif est d'éviter une consommation excessive de mémoire lors de l'extraction d'un grand nombre de colonnes dans plusieurs threads, tout en préservant au moins une certaine localité de cache.

<div id="max_columns_to_read">
  ## max\_columns\_to\_read
</div>

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

Le nombre maximal de colonnes pouvant être lues depuis une table dans une seule requête.
Si une requête nécessite la lecture d'un nombre de colonnes supérieur à celui spécifié, une exception
est levée.

<Tip>
  Ce paramètre est utile pour éviter les requêtes trop complexes.
</Tip>

La valeur `0` signifie qu'il n'y a pas de limite.

<div id="max_compress_block_size">
  ## max\_compress\_block\_size
</div>

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

La taille maximale des blocs de données non compressées avant leur compression pour l’écriture dans une table. Par défaut, 1 048 576 (1 MiB). Indiquer une taille de bloc plus petite entraîne généralement une légère baisse du taux de compression ; en revanche, la vitesse de compression et de décompression augmente légèrement grâce à une meilleure localité du cache, et la consommation de mémoire diminue.

<Note>
  Il s’agit d’un réglage réservé aux experts, et vous ne devriez pas le modifier si vous débutez avec ClickHouse.
</Note>

Ne confondez pas les blocs utilisés pour la compression (un segment de mémoire constitué d’octets) avec les blocs utilisés pour le traitement des requêtes (un ensemble de lignes d’une table).

<div id="max_consume_snapshots">
  ## max\_consume\_snapshots
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nouveau paramètre."}]}]} />

Nombre maximal d’instantanés Paimon consommés par lecture incrémentielle. 0 signifie qu’il n’y a pas de limite.

<div id="max_estimated_execution_time">
  ## max\_estimated\_execution\_time
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.1"},{"label": "0"},{"label": "Séparer max_execution_time et max_estimated_execution_time"}]}]} />

Temps d’exécution estimé maximal de la requête, en secondes. Vérifié pour chaque bloc de données
à l’expiration de [`timeout_before_checking_execution_speed`](/docs/fr/reference/settings/session-settings/other#timeout_before_checking_execution_speed).

<div id="max_expanded_ast_elements">
  ## max\_expanded\_ast\_elements
</div>

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

Taille maximale de l'arbre de syntaxe d'une requête, en nombre de nœuds, après développement des alias et de l'astérisque.

<div id="max_fetch_partition_retries_count">
  ## max\_fetch\_partition\_retries\_count
</div>

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

Nombre de tentatives lors de la récupération d'une partition depuis un autre hôte.

<div id="max_final_threads">
  ## max\_final\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

Définit le nombre maximal de threads parallèles pour la phase de lecture des données de la requête `SELECT` avec le modificateur [FINAL](/docs/fr/reference/statements/select/from#final-modifier).

Valeurs possibles :

* Entier positif.
* 0 ou 1 — Désactivé. Les requêtes `SELECT` sont exécutées sur un seul thread.

<div id="max_http_get_redirects">
  ## max\_http\_get\_redirects
</div>

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

Nombre maximal de sauts de redirection HTTP GET autorisés. Garantit la mise en place de mesures de sécurité supplémentaires afin d'empêcher un serveur malveillant de rediriger vos requêtes vers des services inattendus.\n\nC'est le cas lorsqu'un serveur externe redirige vers une autre adresse, mais que cette adresse semble appartenir à l'infrastructure interne de l'entreprise. En envoyant alors une requête HTTP à un serveur interne, vous pourriez appeler une API interne depuis le réseau interne, contourner l'authentification, voire interroger d'autres services, tels que Redis ou Memcached. Si vous ne disposez pas d'infrastructure interne (y compris un service exécuté sur votre localhost), ou si vous faites confiance au serveur, vous pouvez autoriser les redirections sans risque. Gardez toutefois à l'esprit que si l'URL utilise HTTP au lieu de HTTPS, vous devrez faire confiance non seulement au serveur distant, mais aussi à votre FAI et à tous les réseaux intermédiaires.

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

<div id="max_limit_for_vector_search_queries">
  ## max\_limit\_for\_vector\_search\_queries
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1000"},{"label": "Nouveau paramètre"}]}]} />

Les requêtes SELECT avec un LIMIT supérieur à ce paramètre ne peuvent pas utiliser les indices de similarité vectorielle. Cela permet d’éviter les débordements de mémoire dans les indices de similarité vectorielle.

<div id="max_number_of_partitions_for_independent_aggregation">
  ## max\_number\_of\_partitions\_for\_independent\_aggregation
</div>

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

Nombre maximal de partitions de la table pour appliquer l’optimisatio

<div id="max_os_cpu_wait_time_ratio_to_throw">
  ## max\_os\_cpu\_wait\_time\_ratio\_to\_throw
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "0"},{"label": "Les valeurs du paramètre ont été modifiées et rétroportées vers la version 25.4"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Nouveau paramètre"}]}]} />

Ratio maximal entre le temps d'attente CPU de l'OS (métrique `OSCPUWaitMicroseconds`) et le temps d'activité (métrique `OSCPUVirtualTimeMicroseconds`) à partir duquel le rejet de requêtes est envisagé. Une interpolation linéaire entre les ratios minimal et maximal est utilisée pour calculer la probabilité ; à ce niveau, cette probabilité est de 1.

<div id="max_parallel_replicas">
  ## max\_parallel\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Utilise jusqu’à 1000 répliques parallèles par défaut."}]}]} />

Le nombre maximal de répliques pour chaque shard lors de l’exécution d’une requête.

Valeurs possibles :

* Entier positif.

**Informations supplémentaires**

Cette option peut produire des résultats différents selon les paramètres utilisés.

<div id="parallel-processing-using-sample-key">
  ### Traitement en parallèle à l’aide de la clé `SAMPLE`
</div>

Une requête peut être traitée plus rapidement si elle est exécutée sur plusieurs serveurs en parallèle. Mais les performances des requêtes peuvent se dégrader dans les cas suivants :

* La position de la clé d’échantillonnage dans la clé de partitionnement ne permet pas d’effectuer efficacement des parcours sur plage.
* L’ajout d’une clé d’échantillonnage à la table rend moins efficace le filtrage sur d’autres colonnes.
* La clé d’échantillonnage est une expression coûteuse à calculer.
* La distribution des latences du cluster présente une longue traîne, de sorte qu’interroger davantage de serveurs augmente la latence globale de la requête.

<div id="parallel-processing-using-parallel_replicas_custom_keyreferencesettingssession-settingsparallel-replicasparallel_replicas_custom_key">
  ### traitement en parallèle avec [parallel\_replicas\_custom\_key](/docs/fr/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key)
</div>

Ce paramètre est utile pour toute table répliquée.

<div id="max_parsing_threads">
  ## max\_parsing\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="auto(N)" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "0"},{"label": "Ajout d’un paramètre distinct pour contrôler le nombre de threads utilisés pour l’analyse en parallèle des fichiers"}]}]} />

Le nombre maximal de threads utilisés pour analyser les données dans les formats d’entrée qui prennent en charge l’analyse en parallèle. Par défaut, cette valeur est déterminée automatiquement.

<div id="max_partition_size_to_drop">
  ## max\_partition\_size\_to\_drop
</div>

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

Restriction sur la suppression de partitions au moment de l’exécution de la requête. La valeur `0` signifie que vous pouvez supprimer des partitions sans restriction.

Valeur par défaut dans Cloud : 1 TB.

<Note>
  Ce paramètre de requête remplace le paramètre équivalent au niveau du serveur. Voir [max\_partition\_size\_to\_drop](/docs/fr/reference/settings/server-settings/settings#max_partition_size_to_drop)
</Note>

<div id="max_parts_to_move">
  ## max\_parts\_to\_move
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "1000"},{"label": "Nouveau paramètre"}]}]} />

Limite le nombre de parts pouvant être déplacées par requête. Zéro signifie qu'il n'y a pas de limite.

<div id="max_projection_rows_to_use_projection_index">
  ## max\_projection\_rows\_to\_use\_projection\_index
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1000000"},{"label": "Nouveau paramètre"}]}]} />

Si le nombre de lignes à lire dans l’index de projection est inférieur ou égal à ce seuil, ClickHouse tentera d’utiliser l’index de projection lors de l’exécution de la requête.

<div id="max_query_size">
  ## max\_query\_size
</div>

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

Le nombre maximal d’octets d’une chaîne de requête analysée par le parseur SQL.
Les données de la clause VALUES des requêtes INSERT sont traitées par un parseur de flux distinct (qui consomme O(1) de RAM) et ne sont pas affectées par cette restriction.

<Note>
  `max_query_size` ne peut pas être défini dans une requête SQL (par exemple, `SELECT now() SETTINGS max_query_size=10000`) car ClickHouse doit allouer un tampon pour analyser la requête, et la taille de ce tampon est déterminée par le paramètre `max_query_size`, qui doit être configuré avant l’exécution de la requête.
</Note>

<div id="max_recursive_cte_evaluation_depth">
  ## max\_recursive\_cte\_evaluation\_depth
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.4"},{"label": "1000"},{"label": "Profondeur maximale d’évaluation des CTE récursives"}]}]} />

Profondeur maximale d’évaluation des CTE récursives

<div id="max_replica_delay_for_distributed_queries">
  ## max\_replica\_delay\_for\_distributed\_queries
</div>

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

Désactive les répliques en retard pour les requêtes distribuées. Voir [Replication](/docs/fr/reference/engines/table-engines/mergetree-family/replication).

Définit le délai en secondes. Si le retard d'une réplique est supérieur ou égal à la valeur définie, cette réplique n'est pas utilisée.

Valeurs possibles :

* Entier positif.
* 0 — Le retard des répliques n'est pas vérifié.

Pour empêcher l'utilisation de toute réplique présentant un retard non nul, définissez ce paramètre sur 1.

Utilisé lors de l'exécution de `SELECT` sur une table distribuée pointant vers des tables répliquées.

<div id="max_reverse_dictionary_lookup_cache_size_bytes">
  ## max\_reverse\_dictionary\_lookup\_cache\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "104857600"},{"label": "Nouveau paramètre. Taille maximale en octets du cache de recherche inversée du dictionnaire par requête utilisé par la fonction `dictGetKeys`. Le cache stocke des tuples de clés sérialisés par valeur d’attribut afin d’éviter de parcourir à nouveau le dictionnaire dans la même requête."}]}]} />

Taille maximale en octets du cache de recherche inversée du dictionnaire par requête utilisé par la fonction `dictGetKeys`. Le cache stocke des tuples de clés sérialisés par valeur d’attribut afin d’éviter de parcourir à nouveau le dictionnaire dans la même requête. Lorsque la limite est atteinte, les entrées sont évincées selon la politique LRU. Définissez cette valeur sur 0 pour désactiver la mise en cache.

<div id="max_sessions_for_user">
  ## max\_sessions\_for\_user
</div>

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

Nombre maximal de sessions simultanées pour chaque utilisateur authentifié sur le serveur ClickHouse.

Exemple :

```xml theme={null}
<profiles>
    <single_session_profile>
        <max_sessions_for_user>1</max_sessions_for_user>
    </single_session_profile>
    <two_sessions_profile>
        <max_sessions_for_user>2</max_sessions_for_user>
    </two_sessions_profile>
    <unlimited_sessions_profile>
        <max_sessions_for_user>0</max_sessions_for_user>
    </unlimited_sessions_profile>
</profiles>
<users>
    <!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
    <Alice>
        <profile>single_session_user</profile>
    </Alice>
    <!-- User Bob can use 2 simultaneous sessions. -->
    <Bob>
        <profile>two_sessions_profile</profile>
    </Bob>
    <!-- User Charles can use arbitrarily many of simultaneous sessions. -->
    <Charles>
        <profile>unlimited_sessions_profile</profile>
    </Charles>
</users>
```

Valeurs possibles :

* Entier positif
* `0` - nombre illimité de sessions simultanées (par défaut)

<div id="max_subquery_depth">
  ## max\_subquery\_depth
</div>

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

Si une requête contient plus de sous-requêtes imbriquées que le nombre spécifié, une
exception est levée.

<Tip>
  Cela permet d'effectuer une vérification de cohérence afin d'empêcher les utilisateurs de votre
  cluster d'écrire des requêtes excessivement complexes.
</Tip>

<div id="max_table_size_to_drop">
  ## max\_table\_size\_to\_drop
</div>

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

Restriction sur la suppression des tables au moment de l’exécution de la requête. La valeur `0` signifie que vous pouvez supprimer toutes les tables sans aucune restriction.

Valeur par défaut dans Cloud : 1 TB.

<Note>
  Ce paramètre de requête remplace le paramètre serveur équivalent, voir [max\_table\_size\_to\_drop](/docs/fr/reference/settings/server-settings/settings#max_table_size_to_drop)
</Note>

<div id="max_untracked_memory">
  ## max\_untracked\_memory
</div>

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

Les petites allocations et désallocations sont regroupées dans une variable locale de thread et ne sont suivies ou profilées que lorsque leur montant (en valeur absolue) dépasse la valeur spécifiée. Si cette valeur est supérieure à 'memory\_profiler\_step', elle sera en pratique ramenée à 'memory\_profiler\_step'.

<div id="max_wkb_geometry_elements">
  ## max\_wkb\_geometry\_elements
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1000000"},{"label": "Nouveau paramètre limitant le nombre d’éléments lors de l’analyse des géométries WKB, afin d’éviter des allocations mémoire excessives sur des données malformées."}]}]} />

Nombre maximal de points, d’anneaux ou de polygones autorisés dans un même élément de géométrie WKB lors de l’analyse par `readWKB` et les fonctions associées. Cela protège contre les allocations mémoire excessives dues à des données WKB malformées. Définissez cette valeur sur 0 pour utiliser la limite codée en dur (100 millions).
