> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-postgresql-tls-support.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de sesión de parallel_replicas_*

> Ajustes de sesión de ClickHouse del grupo generado parallel_replicas_*.

export const VersionHistory = ({rows = []}) => {
  if (rows.length === 0) {
    return null;
  }
  const headers = ["Versión", "Valor predeterminado", "Comentario"];
  const border = "1px solid rgba(128, 128, 128, 0.3)";
  const cell = {
    border,
    padding: "0.25rem 0.5rem",
    textAlign: "start",
    verticalAlign: "top"
  };
  return <details className="not-prose" style={{
    border,
    borderRadius: "0.5rem",
    margin: "0.5rem 0",
    padding: "0.5rem 0.75rem",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <summary style={{
    cursor: "pointer",
    fontWeight: 600,
    opacity: 0.72
  }}>
        Historial de versiones
      </summary>
      <table style={{
    borderCollapse: "collapse",
    width: "100%",
    margin: "0.5rem 0 0"
  }}>
        <thead>
          <tr>
            {headers.map(header => <th key={header} style={{
    ...cell,
    fontWeight: 600,
    opacity: 0.72
  }}>
                {header}
              </th>)}
          </tr>
        </thead>
        <tbody>
          {rows.map((row, row_index) => <tr key={row.id ?? row_index}>
              {(row.items ?? []).map((item, item_index) => <td key={item_index} style={{
    ...cell,
    overflowWrap: "anywhere"
  }}>
                  {item?.label}
                </td>)}
            </tr>)}
        </tbody>
      </table>
    </details>;
};

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"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin 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}>
                <span>Beta</span>
            </a>;
  }
  return <a href="/docs/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Funcionalidad beta</span>
        </a>;
};

export const ExperimentalBadge = () => {
  return <a href="/docs/beta-and-experimental-features#experimental-features" 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>
            Funcionalidad experimental
        </a>;
};

Estas configuraciones están disponibles en [system.settings](/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](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" />

Si es true, la subconsulta de IN se ejecutará en cada réplica seguidora.

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

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

Permite usar vistas materializadas con 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" />

Permite que las réplicas paralelas ejecuten la consulta externa de una vista simple sobre tablas `MergeTree` (en lugar de la consulta interna de la vista), lo que mejora la paralelización entre nodos. También se aplica a las vistas `UNION ALL` cuyas ramas leen todas de tablas `MergeTree` diferentes.

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

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

Tiempo de espera, en milisegundos, para conectarse a una réplica remota durante la ejecución de consultas con réplicas paralelas. Si se agota el tiempo de espera, la réplica correspondiente no se utiliza para la ejecuc

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

<BetaBadge />

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

Se trata de una configuración interna que no debe usarse directamente y representa un detalle de implementación del modo de 'parallel replicas'. El servidor iniciador la establecerá automáticamente, en las consultas distribuidas, con el número de réplicas paralelas que participan en el procesamiento de la consulta.

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

<BetaBadge />

Una expresión entera arbitraria que puede usarse para dividir el trabajo entre réplicas de una tabla específica.
El valor puede ser cualquier expresión entera.

Se prefieren las expresiones simples que usan claves primarias.

Si la configuración se usa en un clúster que consta de un solo segmento con varias réplicas, esas réplicas se convertirán en segmentos virtuales.
De lo contrario, se comportará igual que con la clave `SAMPLE`: usará varias réplicas de cada segmento.

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

<BetaBadge />

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

Permite que el tipo de filtro `range` divida el trabajo de forma uniforme entre réplicas en función del rango personalizado `[parallel_replicas_custom_key_range_lower, INT_MAX]`.

Cuando se usa junto con [parallel\_replicas\_custom\_key\_range\_upper](/es/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key_range_upper), permite que el filtro divida uniformemente el trabajo entre las réplicas para el rango `[parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]`.

Nota: Esta configuración no hará que se filtren datos adicionales durante el procesamiento de consultas; más bien, cambia los puntos en los que el filtro de rango divide el intervalo `[0, INT_MAX]` para el procesamiento en paralelo.

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

<BetaBadge />

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

Permite que el tipo de filtro `range` divida el trabajo de forma uniforme entre réplicas según el rango personalizado `[0, parallel_replicas_custom_key_range_upper]`. Un valor de 0 desactiva el límite superior y lo establece en el valor máximo de la expresión de clave personalizada.

Cuando se usa junto con [parallel\_replicas\_custom\_key\_range\_lower](/es/reference/settings/session-settings/parallel-replicas#parallel_replicas_custom_key_range_lower), permite que el filtro divida uniformemente el trabajo entre las réplicas para el rango `[parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper]`.

Nota: esta configuración no hará que se filtren datos adicionales durante el procesamiento de consultas; más bien, cambia los puntos en los que el filtro de rango divide el intervalo `[0, INT_MAX]` para el procesamiento paralelo

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

<BetaBadge />

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

Permite trasladar los filtros a la parte de la consulta que ejecutan las réplicas paralelas

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

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

Sustituye los motores de las funciones de tabla por sus 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" />

Si es true, ClickHouse también usará el algoritmo de réplicas paralelas en las tablas MergeTree no replicadas

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

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

El análisis de índices se realiza solo en el coordinador de réplicas y se omite en las demás réplicas. Solo surte efecto cuando parallel\_replicas\_local\_pla

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

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

Usa la canalización local durante INSERT SELECT distribuido con réplicas paralelas

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

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

Generar el plan local para la réplica local

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

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

Las partes se dividen virtualmente en segmentos para distribuirlas entre réplicas para la lectura paralela. Esta configuración controla el tamaño de estos segmentos. No se recomienda cambiarla hasta que estés completamente seguro de lo que haces. El valor debe estar en el rango \[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 el número de réplicas usadas en una consulta a (filas estimadas por leer / min\_number\_of\_rows\_per\_replica). El máximo sigue estando limitado por 'max\_parallel\_replicas'

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

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

Tipo de filtro que se utiliza con la clave personalizada para las réplicas paralelas. default - usa la operación de módulo sobre la clave personalizada, range - usa un filtro de rango sobre la clave personalizada utilizando todos los valores posibles del tipo de valor de la clave personalizada.

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

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

El analizador debe estar habilitado para usar réplicas paralelas. Si el analizador está deshabilitado, la ejecución de la consulta vuelve a la ejecución local, incluso si la lectura en paralelo desde réplicas está habilitada. No se admite usar réplicas paralelas sin el analizador habilitado

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

<ExperimentalBadge />

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

Representa el límite local/remoto de las réplicas paralelas como una transformación del plan. El planner crea un plan local básico; a continuación, se inserta un paso de división por encima del paso de lectura y se sustituye por una `UNION` de una lectura local y una lectura remota de la parte del plan situada por debajo del paso de división, de modo que ese fragmento se ejecute en las réplicas mientras el resto se ejecuta en el coordinator. Es experimental y tiene prioridad sobre `parallel_replicas_local_plan`.

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

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

Si es true, y JOIN puede ejecutarse con el algoritmo de réplicas paralelas, y todos los motores de almacenamiento de la parte derecha del JOIN son \*MergeTree, se usará JOIN local en lugar de GLOBAL JOIN.

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

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

Cuando está habilitada (de forma predeterminada), la réplica local siempre se incluye en el conjunto de réplicas utilizadas para la lectura en paralelo.
Cuando está deshabilitada, no se da preferencia a la réplica local y las réplicas se seleccionan únicamente mediante el algoritmo de balanceo de carga.
Esto permite que las consultas con `max_parallel_replicas = 1` se dirijan a otro nodo, lo que puede mejorar la localidad de la caché cuando muchas consultas cortas se distribuyen en un clúster.

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

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

La optimización de las proyecciones puede aplicarse en las réplicas paralelas. Solo surte efecto cuando parallel\_replicas\_local\_plan está habilitado y aggregation\_in\_order está inactivo.
