Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
read_in_order_two_level_merge_threshold
Número mínimo de partes que devem ser lidas para executar a etapa de merge preliminar durante a leitura multithread na ordem da chave primária.
read_in_order_use_buffering
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 24.7 | 1 | Usar bufferização antes da mesclagem ao ler na ordem da chave primária |
Usa bufferização antes da mesclagem ao ler na ordem da chave primária. Isso aumenta o paralelismo da execução da consulta
read_in_order_use_virtual_row
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 26.8 | 1 | Ativa por padrão a otimização de linha virtual. Ao ler na ordem da chave primária em muitas partes, ela permite que `MergingSortedTransform` repriorize as fontes usando valores da chave primária do índice esparso, evitando a leitura de partes que não são relevantes para a consulta, além de usar uma janela limitada de leitura antecipada de, no máximo, `max_threads` partes, que mantém as leituras paralelas. Isso reduz significativamente o pico de consumo de memória (consulte https://github.com/ClickHouse/ClickHouse/issues/52624). |
| 24.11 | 0 | Usa linha virtual ao ler na ordem da chave primária ou de sua função monotônica. Isso é útil ao pesquisar em várias partes, pois apenas as relevantes são acessadas. |
Usa linha virtual ao ler na ordem da chave primária ou de sua função monotônica. Isso é útil ao pesquisar em várias partes, pois apenas as partes que podem realmente contribuir para o resultado são lidas, além de uma janela limitada de leitura antecipada de, no máximo, max_threads partes, que mantém as leituras paralelas.
read_in_order_use_virtual_row_per_block
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 26.4 | 0 | Emite uma linha virtual após cada bloco durante a leitura em ordem para permitir a repriorização mais frequente das fontes no MergingSortedTransform. |
Quando ativado junto com read_in_order_use_virtual_row, emite uma linha virtual após cada bloco lido (não apenas no início de cada part).
Isso permite que MergingSortedTransform repriorize as fontes com mais frequência, o que é útil quando os filtros downstream descartam muitas linhas e os dados estão distribuídos de forma desigual entre as partes.
Observe que isso desativa a otimização read_in_order_use_buffering e o merge preliminar (read_in_order_two_level_merge_threshold) para leitura.