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

# ajustes de sesión de distributed_*

> Ajustes de sesión de ClickHouse en el grupo generado distributed_*.

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>;
};

Estas configuraciones están disponibles en [system.settings](/docs/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="distributed_aggregation_memory_efficient">
  ## distributed\_aggregation\_memory\_efficient
</div>

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

Indica si está habilitado el modo de ahorro de memoria de la agregación distribuida.

<div id="distributed_connections_pool_size">
  ## distributed\_connections\_pool\_size
</div>

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

El número máximo de conexiones simultáneas con servidores remotos para procesar de forma distribuida todas las consultas a una única tabla Distributed. Recomendamos establecer un valor no inferior al número de servidores del clúster.

<div id="distributed_foreground_insert">
  ## distributed\_foreground\_insert
</div>

**Aliases**: `insert_distributed_sync`

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

Habilita o deshabilita la inserción síncrona de datos en una tabla [Distributed](/docs/es/reference/engines/table-engines/special/distributed).

De forma predeterminada, al insertar datos en una tabla `Distributed`, el servidor de ClickHouse envía los datos a los nodos del clúster en segundo plano. Cuando `distributed_foreground_insert=1`, los datos se procesan de forma síncrona y la operación `INSERT` solo se completa una vez que todos los datos se han guardado en todos los segmentos (al menos una réplica de cada segmento si `internal_replication` es true).

Valores posibles:

* `0` — Los datos se insertan en segundo plano.
* `1` — Los datos se insertan en modo síncrono.

Valor predeterminado en Cloud: `1`.

**Véase también**

* [Motor de tabla Distributed](/docs/es/reference/engines/table-engines/special/distributed)
* [Gestión de tablas distribuidas](/docs/es/reference/statements/system#managing-distributed-tables)

<div id="distributed_group_by_no_merge">
  ## distributed\_group\_by\_no\_merge
</div>

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

No combina los estados de agregación de distintos servidores en el procesamiento distribuido de consultas; puede usarlo cuando tenga la certeza de que hay claves diferentes en distintos segmentos

Valores posibles:

* `0` — Deshabilitado (el procesamiento final de la consulta se realiza en el nodo iniciador).
* `1` - No combina los estados de agregación de distintos servidores en el procesamiento distribuido de consultas (la consulta se procesa por completo en el segmento; el iniciador solo actúa como proxy de los datos); puede usarse cuando tenga la certeza de que hay claves diferentes en distintos segmentos.
* `2` - Igual que `1`, pero aplica `ORDER BY` y `LIMIT` en el iniciador (esto no es posible cuando la consulta se procesa por completo en el nodo remoto, como en `distributed_group_by_no_merge=1`); puede usarse para consultas con `ORDER BY` y/o `LIMIT`.

**Ejemplo**

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 1
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
│     0 │
└───────┘
```

```sql theme={null}
SELECT *
FROM remote('127.0.0.{2,3}', system.one)
GROUP BY dummy
LIMIT 1
SETTINGS distributed_group_by_no_merge = 2
FORMAT PrettyCompactMonoBlock

┌─dummy─┐
│     0 │
└───────┘
```

<div id="distributed_insert_skip_read_only_replicas">
  ## distributed\_insert\_skip\_read\_only\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Si es true, un INSERT en Distributed omitirá las réplicas de solo lectura"}]}]} />

Permite omitir las réplicas de solo lectura en las consultas INSERT a Distributed.

Valores posibles:

* 0 — INSERT se realizará como de costumbre; si va a una réplica de solo lectura, fallará
* 1 — El iniciador omitirá las réplicas de solo lectura antes de enviar datos a los segmentos.

<div id="distributed_product_mode">
  ## distributed\_product\_mode
</div>

<SettingsInfoBlock type="DistributedProductMode" default_value="deny" />

Cambia el comportamiento de las [subconsultas distribuidas](/docs/es/reference/statements/in).

ClickHouse aplica esta configuración cuando la consulta contiene el producto de tablas distribuidas; es decir, cuando la consulta sobre una tabla distribuida contiene una subconsulta no GLOBAL para la tabla distribuida.

Restricciones:

* Solo se aplica a subconsultas IN y JOIN.
* Solo si la sección FROM usa una tabla distribuida que contiene más de un segmento.
* Solo si la subconsulta hace referencia a una tabla distribuida que contiene más de un segmento.
* No se usa para una función de tabla [remote](/docs/es/reference/functions/table-functions/remote).

Posibles valores:

* `deny` — Valor predeterminado. Prohíbe usar estos tipos de subconsultas (devuelve la excepción "Double-distributed in/JOIN subqueries is denied").
* `local` — Reemplaza la base de datos y la tabla en la subconsulta por las locales del servidor de destino (segmento), dejando `IN`/`JOIN` normal.
* `global` — Reemplaza la consulta `IN`/`JOIN` por `GLOBAL IN`/`GLOBAL JOIN`.
* `allow` — Permite el uso de estos tipos de subconsultas.

<div id="distributed_push_down_limit">
  ## distributed\_push\_down\_limit
</div>

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

Habilita o deshabilita que [LIMIT](/docs/es/reference/settings/session-settings/other#limit) se aplique por separado en cada segmento.

Esto permite evitar:

* Enviar filas adicionales a través de la red;
* Procesar filas que exceden el límite en el iniciador.

A partir de la versión 21.9, ya no es posible obtener resultados inexactos, ya que `distributed_push_down_limit` cambia la ejecución de la consulta solo si se cumple al menos una de las condiciones siguientes:

* [distributed\_group\_by\_no\_merge](/docs/es/reference/settings/session-settings/distributed#distributed_group_by_no_merge) > 0.
* La consulta **no tiene** `GROUP BY`/`DISTINCT`/`LIMIT BY`, pero sí `ORDER BY`/`LIMIT`.
* La consulta **tiene** `GROUP BY`/`DISTINCT`/`LIMIT BY` con `ORDER BY`/`LIMIT`, y:
  * [optimize\_skip\_unused\_shards](/docs/es/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards) está habilitado.
  * [optimize\_distributed\_group\_by\_sharding\_key](/docs/es/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key) está habilitado.

Posibles valores:

* 0 — Deshabilitado.
* 1 — Habilitado.

Vea también:

* [distributed\_group\_by\_no\_merge](/docs/es/reference/settings/session-settings/distributed#distributed_group_by_no_merge)
* [optimize\_skip\_unused\_shards](/docs/es/reference/settings/session-settings/optimize-skip#optimize_skip_unused_shards)
* [optimize\_distributed\_group\_by\_sharding\_key](/docs/es/reference/settings/session-settings/optimize#optimize_distributed_group_by_sharding_key)
