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

# ajustes de sesión de read_in_*

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

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

Estas opciones de configuración 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="read_in_order_two_level_merge_threshold">
  ## read\_in\_order\_two\_level\_merge\_threshold
</div>

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

Número mínimo de partes que se deben leer para ejecutar el paso de fusión preliminar durante la lectura multihilo en el orden de la clave primaria.

<div id="read_in_order_use_buffering">
  ## read\_in\_order\_use\_buffering
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.7"},{"label": "1"},{"label": "Usar búfer antes de fusionar al leer en orden de la clave primaria"}]}]} />

Usa búfer antes de fusionar al leer en orden de la clave primaria. Aumenta el paralelismo de la ejecución de consultas

<div id="read_in_order_use_virtual_row">
  ## read\_in\_order\_use\_virtual\_row
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1"},{"label": "Habilita de forma predeterminada la optimización de fila virtual. Al leer siguiendo el orden de la clave primaria en muchas partes, permite que `MergingSortedTransform` vuelva a priorizar las fuentes utilizando valores de clave primaria del índice disperso, de modo que no se lean las partes que no son relevantes para la consulta, además de una ventana acotada de lectura anticipada de como máximo `max_threads` partes que mantiene las lecturas en paralelo. Esto reduce significativamente el consumo máximo de memoria (consulta https:\/\/github.com\/ClickHouse\/ClickHouse\/issues\/52624)."}]}, {"id": "row-2","items": [{"label": "24.11"},{"label": "0"},{"label": "Usa una fila virtual al leer siguiendo el orden de la clave primaria o de su función monótona. Resulta útil al buscar en múltiples partes, ya que solo se accede a las relevantes."}]}]} />

Usa una fila virtual al leer siguiendo el orden de la clave primaria o de su función monótona. Resulta útil al buscar en múltiples partes, ya que solo se leen las partes que pueden contribuir realmente al resultado, además de una ventana de lectura anticipada limitada de como máximo `max_threads` partes que mantiene las lecturas en paralelo.

<div id="read_in_order_use_virtual_row_per_block">
  ## read\_in\_order\_use\_virtual\_row\_per\_block
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Emitir una fila virtual después de cada bloque durante la lectura en orden para permitir una repriorización más frecuente de las fuentes en MergingSortedTransform."}]}]} />

Cuando se habilita junto con `read_in_order_use_virtual_row`, emite una fila virtual después de cada bloque leído (no solo al principio de cada parte).
Esto permite que `MergingSortedTransform` repriorice las fuentes con mayor frecuencia, lo que resulta útil cuando los filtros posteriores descartan muchas filas y los datos se distribuyen de forma desigual entre las partes.
Tenga en cuenta que esto deshabilita la optimización de `read_in_order_use_buffering` y la fusión preliminar (`read_in_order_two_level_merge_threshold`) para la lectura.
