> ## 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.

# merge_tree_* paramètres de session

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

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 CloudOnlyBadge = () => {
  return <div className="cloudBadge">
            <div className="cloudIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'Uniquement sur ClickHouse Cloud'}
        </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="merge_tree_coarse_index_granularity">
  ## merge\_tree\_coarse\_index\_granularity
</div>

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

Lors de la recherche de données, ClickHouse examine les marques de données dans le fichier d'index. Si ClickHouse détecte que les clés requises se trouvent dans une plage donnée, il divise cette plage en `merge_tree_coarse_index_granularity` sous-plages et y recherche récursivement les clés requises.

Valeurs possibles :

* Tout entier pair positif.

<div id="merge_tree_compact_parts_min_granules_to_multibuffer_read">
  ## merge\_tree\_compact\_parts\_min\_granules\_to\_multibuffer\_read
</div>

<CloudOnlyBadge />

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

N'a d'effet que dans ClickHouse Cloud. Nombre de granules dans la stripe d'une compact part des tables MergeTree à partir duquel utiliser le lecteur multibuffer, qui prend en charge la lecture parallèle et la prélecture. En cas de lecture depuis remote fs, l'utilisation du lecteur multibuffer augmente le nombre de requêtes de lecture. Une part est lue avec un seul tampon lorsqu'elle contient à la fois moins de granules que ce seuil et moins de granules que le nombre de colonnes lues, car dans ce cas, le lecteur à tampon unique effectue moins de requêtes de lecture que le lecteur multibuffer.

<div id="merge_tree_determine_task_size_by_prewhere_columns">
  ## merge\_tree\_determine\_task\_size\_by\_prewhere\_columns
</div>

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

Indique s’il faut utiliser uniquement la taille des colonnes prewhere pour déterminer la taille de la tâche de lecture.

<div id="merge_tree_generic_exclusion_search_max_steps">
  ## merge\_tree\_generic\_exclusion\_search\_max\_steps
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Nouveau paramètre limitant le nombre d’étapes de la recherche par exclusion générique sur l’index de clé primaire."}]}]} />

Lorsqu’un filtre ne peut pas être évalué comme une seule plage continue de la clé primaire, par exemple lorsqu’il utilise des colonnes de clé autres que la première, ClickHouse exécute un algorithme itératif de recherche par exclusion générique sur les marques d’index. Le même algorithme est utilisé pour l’analyse de l’index de texte. Ce paramètre limite le nombre d’étapes (vérifications d’index) que l’algorithme consacre à chaque partie de données.

Le budget est d’abord consommé sur les plus grandes plages de marques restantes. Lorsqu’il est épuisé, les plages qui n’ont pas été entièrement analysées sont acceptées telles quelles, de sorte que la requête reste correcte mais peut lire plus de granules qu’une recherche sans limite n’en sélectionnerait. Un budget plus faible accélère l’analyse de l’index, au prix de la lecture d’un plus grand volume de données. La limite est approximative plutôt qu’un plafond strict du coût d’analyse : la recherche peut la dépasser d’environ un cycle de division, et lorsque la partie est déjà divisée en de nombreuses plages (par exemple par le cache des conditions de requête), chacune d’elles est vérifiée au moins une fois, quelle que soit la limite.

Le nombre d’étapes effectuées par la recherche pour chaque partie de données est indiqué dans les messages de journal de niveau trace de la requête, et les événements de profil `IndexGenericExclusionSearchStepLimitReached` et `TextIndexGenericExclusionSearchStepLimitReached` comptent le nombre de fois où le budget a été épuisé.

La valeur (par défaut) 0 signifie que le nombre d’étapes est illimité.

Valeurs possibles :

* 0 pour un nombre d’étapes illimité, ou tout entier positif.

<div id="merge_tree_max_bytes_to_use_cache">
  ## merge\_tree\_max\_bytes\_to\_use\_cache
</div>

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

Si ClickHouse doit lire plus de `merge_tree_max_bytes_to_use_cache` octets dans une même requête, il n’utilise pas le cache des blocs non compressés.

Le cache des blocs non compressés stocke les données extraites pour les requêtes. ClickHouse utilise ce cache pour accélérer les réponses aux petites requêtes répétées. Ce paramètre évite que le cache ne soit perturbé par des requêtes qui lisent de grandes quantités de données. Le paramètre serveur [uncompressed\_cache\_size](/docs/fr/reference/settings/server-settings/settings#uncompressed_cache_size) définit la taille du cache des blocs non compressés.

Valeurs possibles :

* Tout entier positif.

<div id="merge_tree_max_rows_to_use_cache">
  ## merge\_tree\_max\_rows\_to\_use\_cache
</div>

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

Si ClickHouse doit lire plus de `merge_tree_max_rows_to_use_cache` lignes dans une même requête, il n'utilise pas le cache des blocs non compressés.

Le cache des blocs non compressés stocke les données extraites pour les requêtes. ClickHouse utilise ce cache pour accélérer les réponses aux petites requêtes répétées. Ce paramètre évite que le cache soit saturé par des requêtes qui lisent de grandes quantités de données. Le paramètre de serveur [uncompressed\_cache\_size](/docs/fr/reference/settings/server-settings/settings#uncompressed_cache_size) définit la taille du cache des blocs non compressés.

Valeurs possibles :

* Tout entier positif.

<div id="merge_tree_min_bytes_for_concurrent_read">
  ## merge\_tree\_min\_bytes\_for\_concurrent\_read
</div>

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

Si le nombre d’octets à lire à partir d’un fichier d’une table à moteur [MergeTree](/docs/fr/reference/engines/table-engines/mergetree-family/mergetree) dépasse `merge_tree_min_bytes_for_concurrent_read`, ClickHouse tente alors de lire ce fichier de manière concurrente à l’aide de plusieurs threads.

Valeur possible :

* Entier positif.

<div id="merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem">
  ## merge\_tree\_min\_bytes\_for\_concurrent\_read\_for\_remote\_filesystem
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Ce paramètre est obsolète"}]}]} />

Le nombre minimal d’octets à lire à partir d’un fichier avant que le moteur [MergeTree](/docs/fr/reference/engines/table-engines/mergetree-family/mergetree) puisse paralléliser la lecture lors d’une lecture depuis un système de fichiers distant. Nous ne recommandons pas d’utiliser ce paramètre.

Valeurs possibles :

* Entier positif.

<div id="merge_tree_min_bytes_for_seek">
  ## merge\_tree\_min\_bytes\_for\_seek
</div>

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

Si la distance entre deux blocs de données à lire dans un même fichier est inférieure à `merge_tree_min_bytes_for_seek` octets, ClickHouse lit alors de façon séquentielle une plage du fichier contenant les deux blocs, évitant ainsi une opération de seek supplémentaire.

Valeurs possibles :

* Tout entier positif.

<div id="merge_tree_min_bytes_per_task_for_remote_reading">
  ## merge\_tree\_min\_bytes\_per\_task\_for\_remote\_reading
</div>

**Alias** : `filesystem_prefetch_min_bytes_for_single_read_task`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "2097152"},{"label": "La valeur est harmonisée avec `filesystem_prefetch_min_bytes_for_single_read_task`"}]}]} />

Nombre minimal d’octets à lire par tâche.

<div id="merge_tree_min_read_task_size">
  ## merge\_tree\_min\_read\_task\_size
</div>

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

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

Limite inférieure stricte pour la taille des tâches (même lorsque le nombre de granules est faible et que le nombre de threads disponibles est élevé, nous n'allouerons pas de tâches plus petites

<div id="merge_tree_min_rows_for_concurrent_read">
  ## merge\_tree\_min\_rows\_for\_concurrent\_read
</div>

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

Si le nombre de lignes à lire dans un fichier d’une table [MergeTree](/docs/fr/reference/engines/table-engines/mergetree-family/mergetree) dépasse `merge_tree_min_rows_for_concurrent_read`, ClickHouse tente alors d’effectuer une lecture concurrente de ce fichier sur plusieurs threads.

Valeurs possibles :

* Entier positif.

<div id="merge_tree_min_rows_for_concurrent_read_for_remote_filesystem">
  ## merge\_tree\_min\_rows\_for\_concurrent\_read\_for\_remote\_filesystem
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "0"},{"label": "Ce paramètre est obsolète"}]}]} />

Nombre minimal de lignes à lire dans un fichier avant que le moteur [MergeTree](/docs/fr/reference/engines/table-engines/mergetree-family/mergetree) puisse paralléliser la lecture lors d’une lecture depuis un système de fichiers distant. Nous ne recommandons pas d’utiliser ce paramètre.

Valeurs possibles :

* Entier positif.

<div id="merge_tree_min_rows_for_seek">
  ## merge\_tree\_min\_rows\_for\_seek
</div>

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

Si la distance entre deux blocs de données à lire dans un fichier est inférieure à `merge_tree_min_rows_for_seek` lignes, ClickHouse ne fait pas de seek dans le fichier, mais lit les données de manière séquentielle.

Valeurs possibles :

* Tout entier positif.

<div id="merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability">
  ## merge\_tree\_read\_split\_ranges\_into\_intersecting\_and\_non\_intersecting\_injection\_probability
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Pour tester `PartsSplitter` : diviser les plages de lecture en plages se chevauchant et non chevauchantes à chaque lecture depuis MergeTree, avec la probabilité spécifiée."}]}]} />

Pour tester `PartsSplitter` : diviser les plages de lecture en plages se chevauchant et non chevauchantes à chaque lecture depuis MergeTree, avec la probabilité spécifiée.

<div id="merge_tree_storage_snapshot_sleep_ms">
  ## merge\_tree\_storage\_snapshot\_sleep\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Nouveau paramètre pour déboguer la cohérence des instantanés de stockage dans les requêtes"}]}]} />

Injecte un délai artificiel (en millisecondes) lors de la création d’un instantané de stockage pour les tables MergeTree.
À utiliser uniquement à des fins de test et de débogage.

Valeurs possibles :

* 0 - Aucun délai (par défaut)
* N - Délai en millisecondes

<div id="merge_tree_use_const_size_tasks_for_remote_reading">
  ## merge\_tree\_use\_const\_size\_tasks\_for\_remote\_reading
</div>

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

Indique s'il faut utiliser des tâches de taille constante pour lire depuis une table distante.

<div id="merge_tree_use_deserialization_prefixes_cache">
  ## merge\_tree\_use\_deserialization\_prefixes\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Nouveau paramètre permettant de contrôler l’utilisation du cache des préfixes de désérialisation dans MergeTree"}]}]} />

Active la mise en cache des métadonnées des colonnes issues des préfixes de fichiers lors de la lecture depuis des disques distants dans MergeTree.

<div id="merge_tree_use_prefixes_deserialization_thread_pool">
  ## merge\_tree\_use\_prefixes\_deserialization\_thread\_pool
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Nouveau paramètre contrôlant l'utilisation du pool de threads pour la désérialisation parallèle des préfixes dans MergeTree"}]}]} />

Permet d'utiliser le pool de threads pour la lecture parallèle des préfixes dans les Wide parts de MergeTree. La taille de ce pool de threads est contrôlée par le paramètre du serveur `max_prefixes_deserialization_thread_pool_size`.

<div id="merge_tree_use_v1_object_and_dynamic_serialization">
  ## merge\_tree\_use\_v1\_object\_and\_dynamic\_serialization
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.11"},{"label": "0"},{"label": "Ajout d’une nouvelle version de sérialisation V2 pour les types JSON et Dynamic"}]}]} />

Lorsqu’il est activé, ce paramètre utilise la version de sérialisation V1 des types JSON et Dynamic dans MergeTree au lieu de V2. La modification de ce paramètre ne prend effet qu’après le redémarrage du serveur.
