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

max_streams_for_files_processing_in_cluster_functions

S’il est différent de zéro, limite le nombre de threads qui lisent les données des fichiers dans les fonctions de table Cluster.

max_streams_for_merge_tree_reading

Si cette valeur n’est pas nulle, limite le nombre de flux de lecture pour la table MergeTree.

max_streams_for_union_step

Limite le nombre de flux de données actifs simultanément dans une étape UNION (s’applique à la fois à UNION ALL et à UNION DISTINCT, car UNION DISTINCT est implémenté par une étape UNION ALL suivie d’une étape DISTINCT). Lorsqu’une requête UNION comporte de nombreuses sous-requêtes, elles ouvrent toutes leurs tampons de lecture en même temps, ce qui entraîne une utilisation mémoire proportionnelle au nombre de sous-requêtes. Ce paramètre insère des processeurs Concat pour resserrer le pipeline afin qu’il n’y ait pas plus de ce nombre de flux actifs à la fois, ce qui réduit considérablement le pic de mémoire. La limite réelle correspond au minimum entre cette valeur et max_threads * max_streams_for_union_step_to_max_threads_ratio (si l’une ou l’autre vaut 0, elle est ignorée). Lorsque les deux valent 0, aucun resserrement n’est appliqué. La limite n’est pas non plus appliquée lorsque le plan de requête exige que chaque flux de sortie du UNION reste trié individuellement (par exemple lorsque l’optimisation de lecture dans l’ordre est appliquée sur le UNION) ; dans ce cas, le respect de l’ordre est prioritaire et le resserrement est ignoré.

max_streams_for_union_step_to_max_threads_ratio

Ce ratio, multiplié par max_threads, détermine la limite du nombre de flux simultanément actifs dans une étape UNION (s’applique à la fois à UNION ALL et à UNION DISTINCT). La limite réelle est la plus petite des deux valeurs suivantes : cette valeur calculée et max_streams_for_union_step (si l’une ou l’autre vaut 0, elle est ignorée). Par exemple, avec max_threads = 8 et ce ratio défini sur 1, il y aura au plus 8 flux actifs. Définissez cette valeur sur 0 pour désactiver cette limite basée sur le ratio. Comme pour max_streams_for_union_step, la limite n’est pas appliquée lorsque le plan de requête exige que chaque flux de sortie du UNION reste trié individuellement.

max_streams_multiplier_for_merge_tables

Demande davantage de flux lors de la lecture à partir d’une table Merge. Les flux seront répartis entre les tables utilisées par la table Merge. Cela permet de mieux répartir la charge entre les threads et s’avère particulièrement utile lorsque les tables fusionnées n’ont pas la même taille.

max_streams_to_max_threads_ratio

Permet d’utiliser plus de sources que de threads, afin de répartir le travail plus uniformément entre eux. Il s’agit vraisemblablement d’une solution temporaire, car il sera possible à l’avenir d’avoir autant de sources que de threads, chaque source pouvant alors sélectionner dynamiquement le travail disponible pour elle-même.
Dernière modification le 23 juillet 2026