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

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

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

Estos ajustes 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_streams_for_files_processing_in_cluster_functions">
  ## max\_streams\_for\_files\_processing\_in\_cluster\_functions
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "0"},{"label": "Se añadió una nueva configuración que permite limitar el número de flujos para el procesamiento de archivos en las *funciones de tabla cluster"}]}]} />

Si no es cero, limita el número de hilos que leen datos de archivos en las \*funciones de tabla cluster.

<div id="max_streams_for_merge_tree_reading">
  ## max\_streams\_for\_merge\_tree\_reading
</div>

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

Si no es cero, limita el número de flujos de lectura de una tabla MergeTree.

<div id="max_streams_for_union_step">
  ## max\_streams\_for\_union\_step
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nueva configuración para limitar el número de flujos de datos activos simultáneamente en un paso `UNION` y reducir el pico de uso de memoria."}]}]} />

Limita el número de flujos de datos activos simultáneamente en un paso `UNION` (se aplica tanto a `UNION ALL` como a `UNION DISTINCT`, ya que `UNION DISTINCT` se implementa mediante un paso `UNION ALL` seguido de un paso `DISTINCT`). Cuando una consulta con `UNION` tiene muchas subconsultas, todas abren sus búferes de lectura al mismo tiempo, lo que hace que el uso de memoria sea proporcional al número de subconsultas. Esta configuración inserta procesadores `Concat` para estrechar el pipeline, de modo que como máximo haya esta cantidad de flujos activos a la vez, lo que reduce drásticamente el pico de memoria. El límite real es el mínimo entre este valor y `max_threads * max_streams_for_union_step_to_max_threads_ratio` (si cualquiera de los dos es 0, se ignora). Cuando ambos son 0, no se aplica ningún estrechamiento. El límite tampoco se aplica cuando el plan de consulta requiere que cada flujo de salida del `UNION` permanezca ordenado de forma independiente (por ejemplo, cuando la optimización de lectura en orden se aplica a todo el `UNION`); en ese caso, la corrección del orden tiene prioridad y se omite el estrechamiento.

<div id="max_streams_for_union_step_to_max_threads_ratio">
  ## max\_streams\_for\_union\_step\_to\_max\_threads\_ratio
</div>

<SettingsInfoBlock type="Float" default_value="8" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "8"},{"label": "Nueva configuración: el límite de flujos activos simultáneamente en un paso `UNION` se calcula como min(max_streams_for_union_step, max_threads * max_streams_for_union_step_to_max_threads_ratio); si cualquiera de los dos es 0, ese valor no se tiene en cuenta."}]}]} />

Esta proporción, multiplicada por `max_threads`, determina el límite de flujos activos simultáneamente en un paso `UNION` (se aplica tanto a `UNION ALL` como a `UNION DISTINCT`). El límite real es el mínimo entre este valor calculado y `max_streams_for_union_step` (si cualquiera de los dos es 0, se ignora). Por ejemplo, con `max_threads = 8` y esta proporción establecida en 1, habrá como máximo 8 flujos activos. Establézcala en 0 para desactivar este límite basado en la proporción. Al igual que `max_streams_for_union_step`, el límite no se aplica cuando el plan de consulta requiere que cada flujo de salida de `UNION` permanezca ordenado individualmente.

<div id="max_streams_multiplier_for_merge_tables">
  ## max\_streams\_multiplier\_for\_merge\_tables
</div>

<SettingsInfoBlock type="Float" default_value="5" />

Solicita más flujos al leer desde una Merge table. Los flujos se distribuirán entre las tablas que utiliza la Merge table. Esto permite una distribución más equilibrada del trabajo entre hilos y resulta especialmente útil cuando las tablas subyacentes difieren en tamaño.

<div id="max_streams_to_max_threads_ratio">
  ## max\_streams\_to\_max\_threads\_ratio
</div>

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

Permite usar más fuentes que hilos para distribuir el trabajo de forma más uniforme entre ellos. Se considera una solución temporal, ya que en el futuro será posible hacer que el número de fuentes sea igual al de hilos, pero que cada fuente seleccione dinámicamente el trabajo disponible por sí misma.
