> ## 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 parallel_replicas_*

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

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 BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Funcionalidade Beta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Saiba mais.
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Recurso experimental. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">Saiba mais.</a></u>
        </div>;
};

Essas 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="parallel_replicas_allow_in_with_subquery">
  ## parallel\_replicas\_allow\_in\_with\_subquery
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "1"},{"label": "Se true, a subconsulta de IN será executada em cada réplica seguidora"}]}]} />

Se true, a subconsulta de IN será executada em cada réplica seguidora.

<div id="parallel_replicas_allow_materialized_views">
  ## parallel\_replicas\_allow\_materialized\_views
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "1"},{"label": "Permitir o uso de visões materializadas com réplicas paralelas"}]}]} />

Permitir o uso de visões materializadas com réplicas paralelas

<div id="parallel_replicas_allow_view_over_mergetree">
  ## parallel\_replicas\_allow\_view\_over\_mergetree
</div>

<BetaBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Permite que réplicas paralelas executem a consulta externa de uma view simples sobre tabelas `MergeTree` (em vez da consulta interna da view), melhorando a paralelização entre os nós. Também se aplica a views `UNION ALL` cujas ramificações leem de tabelas `MergeTree` diferentes.

<div id="parallel_replicas_connect_timeout_ms">
  ## parallel\_replicas\_connect\_timeout\_ms
</div>

<SettingsInfoBlock type="Milissegundos" default_value="300" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "300"},{"label": "Timeout de conexão separado para consultas com réplicas paralelas"}]}]} />

O timeout, em milissegundos, para se conectar a uma réplica remota durante a execução da consulta com réplicas paralelas. Se o timeout expirar, a réplica correspondente não será usada para a execução da consulta

<div id="parallel_replicas_count">
  ## parallel\_replicas\_count
</div>

<BetaBadge />

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

Esta é uma configuração interna que não deve ser usada diretamente e representa um detalhe de implementação do modo de 'réplicas paralelas'. Essa configuração será definida automaticamente pelo servidor iniciador, em consultas distribuídas, com o número de réplicas paralelas que participam do processamento da consulta.

<div id="parallel_replicas_custom_key">
  ## parallel\_replicas\_custom\_key
</div>

<BetaBadge />

Uma expressão inteira arbitrária que pode ser usada para dividir o trabalho entre réplicas de uma tabela específica.
O valor pode ser qualquer expressão inteira.

Prefira expressões simples que usem chaves primárias.

Se a configuração for usada em um cluster composto por um único shard com várias réplicas, essas réplicas serão convertidas em shards virtuais.
Caso contrário, ela se comportará da mesma forma que a chave `SAMPLE`, usando várias réplicas de cada shard.

<div id="parallel_replicas_custom_key_range_lower">
  ## parallel\_replicas\_custom\_key\_range\_lower
</div>

<BetaBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "0"},{"label": "Adiciona configurações para controlar o filtro de intervalo ao usar réplicas paralelas com shards dinâmicos"}]}]} />

Permite que o tipo de filtro `range` divida o trabalho de forma equilibrada entre réplicas com base no intervalo personalizado `[parallel_replicas_custom_key_range_lower, INT_MAX]`.

Quando usado em conjunto com [parallel\_replicas\_custom\_key\_range\_upper](/docs/pt-BR/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key_range_upper), ele permite que o filtro divida de forma equilibrada o trabalho entre as réplicas no intervalo `[parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]`.

Nota: essa configuração não fará com que dados adicionais sejam filtrados durante o processamento de consultas; em vez disso, ela altera os pontos em que o filtro de intervalo divide o intervalo `[0, INT_MAX]` para processamento paralelo.

<div id="parallel_replicas_custom_key_range_upper">
  ## parallel\_replicas\_custom\_key\_range\_upper
</div>

<BetaBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.6"},{"label": "0"},{"label": "Adiciona configurações para controlar o filtro de intervalo ao usar réplicas paralelas com shards dinâmicos. Um valor de 0 desativa o limite superior"}]}]} />

Permite que o tipo de filtro `range` divida o trabalho de maneira uniforme entre as réplicas com base no intervalo personalizado `[0, parallel_replicas_custom_key_range_upper]`. Um valor de 0 desativa o limite superior, definindo-o como o valor máximo da expressão de chave personalizada.

Quando usado em conjunto com [parallel\_replicas\_custom\_key\_range\_lower](/docs/pt-BR/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key_range_lower), ele permite que o filtro divida uniformemente o trabalho entre as réplicas no intervalo `[parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]`.

Observação: essa configuração não fará com que dados adicionais sejam filtrados durante o processamento da consulta; em vez disso, ela altera os pontos em que o filtro de intervalo divide o intervalo `[0, INT_MAX]` para processamento paralelo

<div id="parallel_replicas_filter_pushdown">
  ## parallel\_replicas\_filter\_pushdown
</div>

<BetaBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Permite fazer o pushdown de filtros para a parte da consulta que as réplicas paralelas escolhem executar

<div id="parallel_replicas_for_cluster_engines">
  ## parallel\_replicas\_for\_cluster\_engines
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "1"},{"label": "Nova configuração."}]}]} />

Substitua os motores de funções de tabela por suas alternativas -Cluster

<div id="parallel_replicas_for_non_replicated_merge_tree">
  ## parallel\_replicas\_for\_non\_replicated\_merge\_tree
</div>

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

Se true, o ClickHouse também usará o algoritmo de réplicas paralelas para tabelas MergeTree não replicadas

<div id="parallel_replicas_index_analysis_only_on_coordinator">
  ## parallel\_replicas\_index\_analysis\_only\_on\_coordinator
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "1"},{"label": "A análise de índice é feita apenas na réplica coordenadora e ignorada nas demais réplicas. Só tem efeito com parallel_replicas_local_plan habilitado"}]}, {"id": "row-2","items": [{"label": "24.10"},{"label": "1"},{"label": "A análise de índice é feita apenas na réplica coordenadora e ignorada nas demais réplicas. Só tem efeito com parallel_replicas_local_plan habilitado"}]}]} />

A análise de índice é feita apenas na réplica coordenadora e ignorada nas demais réplicas. Só tem efeito com parallel\_replicas\_local\_pla habilitado

<div id="parallel_replicas_insert_select_local_pipeline">
  ## parallel\_replicas\_insert\_select\_local\_pipeline
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Usa pipeline local durante INSERT SELECT distribuído com réplicas paralelas. Atualmente desativado devido a problemas de desempenho"}]}, {"id": "row-2","items": [{"label": "25.4"},{"label": "0"},{"label": "Usa pipeline local durante INSERT SELECT distribuído com réplicas paralelas. Atualmente desativado devido a problemas de desempenho"}]}]} />

Usa pipeline local durante INSERT SELECT distribuído com réplicas paralelas

<div id="parallel_replicas_local_plan">
  ## parallel\_replicas\_local\_plan
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "Usar plano local para a réplica local em uma consulta com réplicas paralelas"}]}, {"id": "row-2","items": [{"label": "24.11"},{"label": "1"},{"label": "Usar plano local para a réplica local em uma consulta com réplicas paralelas"}]}, {"id": "row-3","items": [{"label": "24.10"},{"label": "1"},{"label": "Usar plano local para a réplica local em uma consulta com réplicas paralelas"}]}]} />

Constrói o plano local para a réplica local

<div id="parallel_replicas_mark_segment_size">
  ## parallel\_replicas\_mark\_segment\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.9"},{"label": "0"},{"label": "O valor desta configuração agora é determinado automaticamente"}]}, {"id": "row-2","items": [{"label": "24.1"},{"label": "128"},{"label": "Nova configuração adicionada para controlar o tamanho do segmento na nova implementação do coordenador de réplicas paralelas"}]}]} />

Partes divididas virtualmente em segmentos para serem distribuídos entre réplicas para leitura paralela. Essa configuração controla o tamanho desses segmentos. Não é recomendável alterá-la até que você tenha absoluta certeza do que está fazendo. O valor deve estar no intervalo \[128; 16384]

<div id="parallel_replicas_min_number_of_rows_per_replica">
  ## parallel\_replicas\_min\_number\_of\_rows\_per\_replica
</div>

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

Limita o número de réplicas usadas em uma consulta a (linhas estimadas para leitura / min\_number\_of\_rows\_per\_replica). O valor máximo continua sendo limitado por 'max\_parallel\_replicas'

<div id="parallel_replicas_mode">
  ## parallel\_replicas\_mode
</div>

<SettingsInfoBlock type="ParallelReplicasMode" default_value="read_tasks" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.10"},{"label": "read_tasks"},{"label": "Esta configuração foi introduzida como parte da disponibilização do recurso de réplicas paralelas em Beta"}]}]} />

Tipo de filtro a ser usado com chave personalizada para réplicas paralelas. default - usa a operação de módulo na chave personalizada, range - usa um filtro de intervalo na chave personalizada, usando todos os valores possíveis para o tipo de valor da chave personalizada.

<div id="parallel_replicas_only_with_analyzer">
  ## parallel\_replicas\_only\_with\_analyzer
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Réplicas paralelas têm suporte apenas com o analisador habilitado"}]}]} />

O analisador deve estar habilitado para usar réplicas paralelas. Com o analisador desabilitado, a execução da consulta volta para a execução local, mesmo que a leitura paralela a partir de réplicas esteja habilitada. O uso de réplicas paralelas sem o analisador habilitado não tem suporte

<div id="parallel_replicas_plan_based">
  ## parallel\_replicas\_plan\_based
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Nova configuração"}]}]} />

Expressa a fronteira local/remota das réplicas paralelas por meio de uma transformação do plano. O planner cria um plano local simples; em seguida, uma etapa de divisão é inserida acima da etapa de leitura e substituída por uma `UNION` entre uma leitura local e uma leitura remota da parte do plano abaixo da etapa de divisão, para que esse fragmento seja executado nas réplicas enquanto o restante é executado no coordenador. Experimental; tem precedência sobre `parallel_replicas_local_plan`.

<div id="parallel_replicas_prefer_local_join">
  ## parallel\_replicas\_prefer\_local\_join
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.2"},{"label": "1"},{"label": "Se true, e o JOIN puder ser executado com o algoritmo de réplicas paralelas, e todos os armazenamentos no lado direito do JOIN forem *MergeTree, será usado JOIN local em vez de GLOBAL JOIN."}]}]} />

Se true, e o JOIN puder ser executado com o algoritmo de réplicas paralelas, e todos os armazenamentos no lado direito do JOIN forem \*MergeTree, será usado JOIN local em vez de GLOBAL JOIN.

<div id="parallel_replicas_prefer_local_replica">
  ## parallel\_replicas\_prefer\_local\_replica
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nova configuração. Quando desativada, as réplicas para leitura paralela são selecionadas exclusivamente pelo algoritmo de balanceamento de carga, sem forçar a inclusão da réplica local no conjunto."}]}]} />

Quando ativada (padrão), a réplica local é sempre incluída no conjunto de réplicas usado para leitura paralela.
Quando desativada, a réplica local não recebe nenhuma preferência, e as réplicas são selecionadas exclusivamente pelo algoritmo de balanceamento de carga.
Isso permite que consultas com `max_parallel_replicas = 1` sejam direcionadas para outro host, o que pode melhorar a localidade de cache quando muitas consultas curtas são distribuídas em um cluster.

<div id="parallel_replicas_support_projection">
  ## parallel\_replicas\_support\_projection
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Nova configuração. A otimização de projeções pode ser aplicada em réplicas paralelas. Só tem efeito quando parallel_replicas_local_plan está habilitado e aggregation_in_order está inativo."}]}]} />

A otimização de projeções pode ser aplicada em réplicas paralelas. Só tem efeito quando parallel\_replicas\_local\_plan está habilitado e aggregation\_in\_order está inativo.
