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

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

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="max_insert_block_size">
  ## max\_insert\_block\_size
</div>

**Aliases**: `max_insert_block_size_rows`

<SettingsInfoBlock type="NonZeroUInt64" default_value="1048449" />

El tamaño máximo de los bloques (en cantidad de filas) que se forman para la inserción en una tabla.

Esta configuración controla la formación de bloques en dos contextos:

1. Análisis del formato: Cuando el server analiza formatos de entrada basados en filas (CSV, TSV, JSONEachRow, etc.) desde cualquier interface (HTTP, clickhouse-client con datos inline, gRPC, PostgreSQL wire protocol), los bloques se emiten cuando:

   * Se alcanzan tanto min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes, OR
   * Se alcanza max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes

   Nota: Cuando se usa clickhouse-client o clickhouse-local para leer desde un archivo, el propio client analiza los datos y esta configuración se aplica en el client side.

2. Operaciones INSERT: Durante las queries INSERT y cuando los datos fluyen a través de vistas materializadas, el comportamiento de esta configuración depende de `use_strict_insert_block_limits`:

   * Cuando está habilitada: Los bloques se emiten cuando:
     * Umbrales mínimos (AND): Se alcanzan tanto min\_insert\_block\_size\_rows AND min\_insert\_block\_size\_bytes
     * Umbrales máximos (OR): Se alcanza max\_insert\_block\_size\_rows OR max\_insert\_block\_size\_bytes

   * Cuando está deshabilitada: Los bloques se emiten cuando se alcanza min\_insert\_block\_size\_rows OR min\_insert\_block\_size\_bytes. Las configuraciones max\_insert\_block\_size no se aplican.

Possible values:

* Entero positivo.

<div id="max_insert_block_size_bytes">
  ## max\_insert\_block\_size\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "0"},{"label": "Nueva configuración que permite controlar el tamaño de los bloques en bytes durante el análisis de datos en Row Input Format."}]}]} />

El tamaño máximo de los bloques (en bytes) que se forman para la inserción en una tabla.

Esta configuración funciona junto con max\_insert\_block\_size\_rows y controla la formación de bloques en el mismo contexto. Consulta max\_insert\_block\_size\_rows para obtener información detallada sobre cuándo y cómo se aplican estas configuraciones.

Posibles valores:

* Entero positivo.
* 0 — la configuración no participa en la formación de bloques.

<div id="max_insert_delayed_streams_for_parallel_write">
  ## max\_insert\_delayed\_streams\_for\_parallel\_write
</div>

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

El número máximo de streams (columnas) para retrasar el volcado final de la parte. Valor predeterminado: auto (100 si el almacenamiento subyacente admite escritura en paralelo, por ejemplo S3, y deshabilitado en caso contrario)

Valor predeterminado de Cloud: `50`.

<div id="max_insert_threads">
  ## max\_insert\_threads
</div>

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

El número máximo de hilos para ejecutar la consulta `INSERT SELECT`.

Valores posibles:

* 0 (o 1) — `INSERT SELECT` sin ejecución en paralelo.
* Entero positivo. Mayor que 1.

Valor predeterminado de Cloud:

* `1` para nodos con 8 GiB de memoria
* `2` para nodos con 16 GiB de memoria
* `4` para nodos más grandes

`INSERT SELECT` en paralelo solo tiene efecto si la parte `SELECT` se ejecuta en paralelo; consulta la configuración [`max_threads`](/docs/es/reference/settings/session-settings/max-threads#max_threads).
Los valores más altos darán lugar a un mayor uso de memoria.

<div id="max_insert_threads_min_free_memory_per_thread">
  ## max\_insert\_threads\_min\_free\_memory\_per\_thread
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "4294967296"},{"label": "Nueva configuración para limitar el número de hilos de inserción en función de la memoria libre disponible"}]}]} />

Igual que `max_threads_min_free_memory_per_thread`, pero aplicado a `max_insert_threads` en lugar de a `max_threads`. El valor predeterminado es mayor porque las canalizaciones de inserción suelen mantener búferes por hilo más grandes (partes de MergeTree, bloques de compresión) que las canalizaciones de lectura.

Si la cantidad de memoria libre es menor que `max_insert_threads` multiplicado por este valor, `max_insert_threads` se reduce en consecuencia, hasta un mínimo de `1`.

Establézcalo en `0` para desactivar este límite.
