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

# configurações de sessão merge_tree_*

> Configurações de sessão do ClickHouse no grupo merge_tree_* gerado.

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
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Padrão</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Pode ser alterado sem reiniciar
        </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>
            {'Somente no ClickHouse Cloud'}
        </div>;
};

Estas configurações estão disponíveis em [system.settings](/docs/pt-BR/reference/system-tables/settings) e são geradas automaticamente a partir do [código-fonte](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" />

Ao procurar dados, o ClickHouse verifica as marcas dos dados no arquivo de índice. Se o ClickHouse identificar que as chaves necessárias estão em determinado intervalo, ele divide esse intervalo em `merge_tree_coarse_index_granularity` subintervalos e busca essas chaves neles, recursivamente.

Valores possíveis:

* Qualquer número inteiro par positivo.

<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" />

Só tem efeito no ClickHouse Cloud. Número de grânulos em uma stripe de uma parte compacta de tabelas MergeTree para usar o leitor multibuffer, que oferece suporte a leitura paralela e prefetch. No caso de leitura a partir de um sistema de arquivos remoto, o uso do leitor multibuffer aumenta o número de requisições de leitura. Uma parte é lida com um único buffer quando contém menos grânulos do que esse limite e também menos grânulos do que o número de colunas que estão sendo lidas, porque, nesse caso, o leitor de buffer único emite menos requisições de leitura do que o leitor 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" />

Define se deve usar apenas o tamanho das colunas de prewhere para determinar o tamanho da tarefa de leitura.

<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": "Nova configuração para limitar o número de passos da busca genérica por exclusão no índice da chave primária."}]}]} />

Quando um filter não pode ser avaliado como um único intervalo contínuo da chave primária, por exemplo, quando usa colunas-chave diferentes da primeira, o ClickHouse executa um algoritmo iterativo de busca genérica por exclusão sobre as marcas do índice. O mesmo algoritmo é usado na análise do índice de texto. Esta configuração limita o número de passos (verificações do índice) que o algoritmo realiza em cada parte de dados.

O orçamento é consumido primeiro nos maiores intervalos de marcas restantes. Quando ele se esgota, os intervalos que não foram totalmente analisados são aceitos como um todo, de modo que a consulta continua correta, mas pode ler mais grânulos do que uma busca sem limite selecionaria. Um orçamento menor acelera a análise do índice, ao custo de ler mais dados. O limite é aproximado, e não um teto estrito para o custo da análise: a busca pode ultrapassá-lo em aproximadamente uma rodada de divisão e, quando a parte já está dividida em muitos intervalos (por exemplo, pelo cache de condições da consulta), cada um deles é verificado pelo menos uma vez, independentemente do limite.

O número de passos executados pela busca em cada parte de dados é informado nas mensagens de log da consulta no nível trace, e os profile events `IndexGenericExclusionSearchStepLimitReached` e `TextIndexGenericExclusionSearchStepLimitReached` contam quantas vezes o orçamento foi esgotado.

O valor padrão 0 significa passos ilimitados.

Possible values:

* 0 para passos ilimitados ou qualquer número inteiro positivo.

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

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

Se o ClickHouse precisar ler mais de `merge_tree_max_bytes_to_use_cache` bytes em uma consulta, ele não usará o cache de blocos não comprimidos.

O cache de blocos não comprimidos armazena dados extraídos para consultas. O ClickHouse usa esse cache para acelerar as respostas a consultas pequenas repetidas. Essa configuração evita que o cache seja prejudicado por consultas que leem uma grande quantidade de dados. A configuração do servidor [uncompressed\_cache\_size](/docs/pt-BR/reference/settings/server-settings/settings#uncompressed_cache_size) define o tamanho do cache de blocos não comprimidos.

Valores possíveis:

* Qualquer inteiro positivo.

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

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

Se o ClickHouse precisar ler mais de `merge_tree_max_rows_to_use_cache` linhas em uma consulta, ele não usará o cache de blocos não comprimidos.

O cache de blocos não comprimidos armazena dados extraídos durante a execução de consultas. O ClickHouse usa esse cache para acelerar a resposta a consultas pequenas executadas repetidamente. Essa configuração protege o cache contra a degradação causada por consultas que leem uma grande quantidade de dados. A configuração de servidor [uncompressed\_cache\_size](/docs/pt-BR/reference/settings/server-settings/settings#uncompressed_cache_size) define o tamanho do cache de blocos não comprimidos.

Valores possíveis:

* Qualquer número inteiro positivo.

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

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

Se o número de bytes a serem lidos de um arquivo de uma tabela do motor [MergeTree](/docs/pt-BR/reference/engines/table-engines/mergetree-family/mergetree) exceder `merge_tree_min_bytes_for_concurrent_read`, o ClickHouse tentará ler esse arquivo de forma concorrente usando várias threads.

Valor possível:

* Inteiro positivo.

<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": "A configuração está obsoleta"}]}]} />

O número mínimo de bytes que devem ser lidos de um arquivo para que o motor [MergeTree](/docs/pt-BR/reference/engines/table-engines/mergetree-family/mergetree) possa paralelizar a leitura ao fazer leitura a partir do sistema de arquivos remoto. Não recomendamos o uso desta configuração.

Valores possíveis:

* Inteiro positivo.

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

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

Se a distância entre dois blocos de dados a serem lidos em um arquivo for menor que `merge_tree_min_bytes_for_seek` bytes, o ClickHouse lerá sequencialmente um intervalo do arquivo que contenha ambos os blocos, evitando assim uma operação adicional de seek.

Valores possíveis:

* Qualquer inteiro positivo.

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

**Aliases**: `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": "O valor foi unificado com `filesystem_prefetch_min_bytes_for_single_read_task`"}]}]} />

Número mínimo de bytes lidos por tarefa.

<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": "Nova configuração"}]}]} />

Limite mínimo rígido para o tamanho da tarefa (mesmo quando o número de grânulos é baixo e o número de threads disponíveis é alto, não alocaremos tarefas menores

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

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

Se o número de linhas a serem lidas de um arquivo de uma tabela [MergeTree](/docs/pt-BR/reference/engines/table-engines/mergetree-family/mergetree) exceder `merge_tree_min_rows_for_concurrent_read`, o ClickHouse tentará realizar a leitura concorrente desse arquivo em várias threads.

Valores possíveis:

* Inteiro positivo.

<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": "A configuração está obsoleta"}]}]} />

O número mínimo de linhas que devem ser lidas de um arquivo antes que o motor [MergeTree](/docs/pt-BR/reference/engines/table-engines/mergetree-family/mergetree) possa paralelizar a leitura durante a leitura a partir do sistema de arquivos remoto. Não recomendamos o uso dessa configuração.

Valores possíveis:

* Inteiro positivo.

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

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

Se a distância entre dois blocos de dados a serem lidos em um arquivo for menor que `merge_tree_min_rows_for_seek` linhas, o ClickHouse não faz seek no arquivo, mas lê os dados sequencialmente.

Valores possíveis:

* Qualquer número inteiro positivo.

<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": "Para testar o `PartsSplitter` - divide os intervalos de leitura em sobrepostos e não sobrepostos sempre que houver leitura do MergeTree, com a probabilidade especificada."}]}]} />

Para testar o `PartsSplitter` - divide os intervalos de leitura em sobrepostos e não sobrepostos sempre que houver leitura do MergeTree, com a probabilidade especificada.

<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": "Uma nova configuração para depurar a consistência do snapshot de armazenamento em consultas"}]}]} />

Injeta um atraso artificial (em milissegundos) ao criar um snapshot de armazenamento para tabelas MergeTree.
Usado apenas para testes e depuração.

Valores possíveis:

* 0 - Sem atraso (padrão)
* N - Atraso em milissegundos

<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" />

Define se devem ser usadas tarefas de tamanho constante para leitura de uma tabela remota.

<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": "Uma nova configuração para controlar o uso do cache dos prefixos de desserialização no MergeTree"}]}]} />

Habilita o cache dos metadados das colunas a partir dos prefixos dos arquivos durante a leitura em discos remotos no 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": "Uma nova configuração que controla o uso do pool de threads para a desserialização paralela de prefixos no MergeTree"}]}]} />

Habilita o uso do pool de threads para a leitura paralela de prefixos em partes Wide do MergeTree. O tamanho desse pool de threads é controlado pela configuração do servidor `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": "Adicionada a nova versão de serialização V2 para os tipos JSON e Dynamic"}]}]} />

Quando ativada, a versão de serialização V1 dos tipos JSON e Dynamic será usada no MergeTree em vez da V2. Alterar essa configuração só passa a ter efeito após a reinicialização do servidor.
