Skip to main content
Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.

max_streams_for_files_processing_in_cluster_functions

Se não for zero, limita o número de threads que leem dados de arquivos em funções de tabela de cluster.

max_streams_for_merge_tree_reading

Se não for zero, limita o número de streams de leitura da tabela MergeTree.

max_streams_for_union_step

Limita o número de streams de dados ativos simultaneamente em uma etapa UNION (aplica-se tanto a UNION ALL quanto a UNION DISTINCT, porque UNION DISTINCT é implementado por meio de uma etapa UNION ALL seguida de uma etapa DISTINCT). Quando uma consulta UNION tem muitas subconsultas, todas abrem seus buffers de leitura ao mesmo tempo, o que faz o uso de memória ser proporcional ao número de subconsultas. Essa configuração insere processadores Concat para afunilar o pipeline, de modo que no máximo essa quantidade de streams fique ativa ao mesmo tempo, reduzindo drasticamente o pico de memória. O limite real é o valor mínimo entre este valor e max_threads * max_streams_for_union_step_to_max_threads_ratio (se qualquer um deles for 0, ele será ignorado). Quando ambos são 0, nenhum afunilamento é aplicado. O limite também não é aplicado quando o plano da consulta exige que cada fluxo de saída do UNION permaneça ordenado individualmente (por exemplo, quando a otimização de leitura em ordem é aplicada em todo o UNION); nesse caso, a preservação da ordenação tem precedência e o afunilamento é ignorado.

max_streams_for_union_step_to_max_threads_ratio

Essa razão multiplicada por max_threads determina o limite de streams ativos simultaneamente em uma etapa UNION (aplica-se tanto a UNION ALL quanto a UNION DISTINCT). O limite real é o valor mínimo entre esse valor calculado e max_streams_for_union_step (se qualquer um dos dois for 0, ele será ignorado). Por exemplo, com max_threads = 8 e essa razão definida como 1, no máximo 8 streams estarão ativos. Defina como 0 para desativar esse limite baseado em razão. Assim como max_streams_for_union_step, o limite não é aplicado quando o plano de consulta exige que cada stream de saída do UNION permaneça ordenado individualmente.

max_streams_multiplier_for_merge_tables

Solicita mais streams ao ler de uma Merge table. Os streams serão distribuídos entre as tabelas usadas pela Merge table. Isso permite uma distribuição mais uniforme do trabalho entre as threads e é especialmente útil quando as tabelas mescladas diferem em tamanho.

max_streams_to_max_threads_ratio

Permite usar mais fontes do que o número de threads para distribuir o trabalho entre elas de maneira mais uniforme. Pressupõe-se que esta seja uma solução temporária, já que no futuro será possível fazer com que o número de fontes seja igual ao número de threads, mas com cada fonte selecionando dinamicamente o trabalho disponível para si.
Última modificação em 23 de julho de 2026