Skip to main content
Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du code source.

merge_tree_coarse_index_granularity

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.

merge_tree_compact_parts_min_granules_to_multibuffer_read

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.

merge_tree_determine_task_size_by_prewhere_columns

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

merge_tree_generic_exclusion_search_max_steps

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.

merge_tree_max_bytes_to_use_cache

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 définit la taille du cache des blocs non compressés. Valeurs possibles :
  • Tout entier positif.

merge_tree_max_rows_to_use_cache

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 définit la taille du cache des blocs non compressés. Valeurs possibles :
  • Tout entier positif.

merge_tree_min_bytes_for_concurrent_read

Si le nombre d’octets à lire à partir d’un fichier d’une table à moteur 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.

merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem

Le nombre minimal d’octets à lire à partir d’un fichier avant que le moteur 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.

merge_tree_min_bytes_for_seek

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.

merge_tree_min_bytes_per_read_stream

Coût de surcharge par flux exprimé en équivalent octets. Contrôle le nombre maximal de flux de lecture créés pour les parcours locaux, non ordonnés et ordinaires de MergeTree. Les lectures ordonnées, FINAL, en couches et sur réplicas parallèles ne sont pas modifiées. La limite basée sur le volume est ceil(sqrt(estimated_read_bytes / this_setting)). ClickHouse conserve également au moins 16 flux et au moins un quart des flux demandés avant application de cette limite, de sorte que le nombre effectif de flux est min(requested_streams, max(volume_based_cap, 16, floor(requested_streams / 4))). Ces seuils minimaux préservent le parallélisme en aval pour les expressions et agrégations gourmandes en CPU, dont le coût n’est pas représenté par estimated_read_bytes. estimated_read_bytes correspond à la taille non compressée des colonnes lues sur les plages de marques restantes après l’élagage des index et des partitions. La taille non compressée est utilisée, car la surcharge par flux est mise en balance avec le travail effectué par flux, qui augmente avec le nombre de valeurs traitées plutôt qu’avec leur niveau de compression. La limite n’est pas appliquée lorsque le volume de lecture ne peut pas être estimé de manière prudente, par exemple lorsqu’une ancienne partie nécessite d’autres colonnes physiques pour évaluer une colonne DEFAULT récemment ajoutée, ou lorsqu’une plage sélectionnée ne lit qu’une partie d’une colonne à largeur variable. La valeur par défaut de 64 Ko est dérivée du modèle de coût T(N) = W/N + F + V·N, où W est le travail utile, F est la surcharge fixe du pipeline et V est le coût variable par flux. Le nombre optimal de flux est sqrt(W/V). L’expression de W en octets à l’aide du débit donne C = throughput · V ≈ 400 MB/s · 0.17 ms ≈ 64 KB. Augmenter cette valeur réduit le nombre de flux (approche plus prudente) ; la diminuer autorise davantage de flux. Définissez-la sur 0 pour désactiver cette optimisation. Valeurs possibles :
  • Entier non négatif.

merge_tree_min_bytes_per_task_for_remote_reading

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

merge_tree_min_read_task_size

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

merge_tree_min_rows_for_concurrent_read

Si le nombre de lignes à lire dans un fichier d’une table 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.

merge_tree_min_rows_for_concurrent_read_for_remote_filesystem

Nombre minimal de lignes à lire dans un fichier avant que le moteur 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.

merge_tree_min_rows_for_seek

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.

merge_tree_prefetch_json_shared_data_substreams

Active la prélecture des sous-flux de données partagées JSON dans les parties Wide lus en recherchant une marque. Cette prélecture lit depuis le début du granule, qui n’est généralement pas la position à partir de laquelle le sous-flux est lu ; elle peut donc être inutile. Désactivez ce paramètre pour ignorer ces prélectures.

merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability

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.

merge_tree_storage_snapshot_sleep_ms

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

merge_tree_use_const_size_tasks_for_remote_reading

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

merge_tree_use_deserialization_prefixes_cache

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.

merge_tree_use_prefixes_deserialization_thread_pool

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.

merge_tree_use_v1_object_and_dynamic_serialization

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.
Dernière modification le 18 août 2026