> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-parallel-read-in-order-multi-part.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# configuraciones min_* de tabla MergeTree

> Configuraciones de tabla MergeTree del grupo generado min_*.

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 configuraciones están disponibles en [system.merge\_tree\_settings](/es/reference/system-tables/merge_tree_settings) y se autogeneran a partir del código fuente de ClickHouse.

## min\_absolute\_delay\_to\_close

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

Retraso absoluto mínimo para cerrar, dejar de atender solicitudes y no
devolver Ok durante la comprobación de estado.

## min\_columns\_to\_activate\_adaptive\_write\_buffer

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "500"},{"label": "Nueva configuración"}]}]} />

Permite reducir el uso de memoria en tablas con muchas columnas mediante búferes de escritura adaptativos.

Se compara con el número de flujos de escritura de una parte wide, que puede superar considerablemente su número
de columnas: un `Map` con muchos buckets o un `Array` o `Tuple` profundamente anidado escribe muchos flujos
para una sola columna, y se asigna un búfer de escritura por flujo.

Valores posibles:

* 0 - deshabilitado
* 1 - siempre habilitado

## min\_compress\_block\_size

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

Tamaño mínimo de los bloques de datos sin comprimir necesario para la compresión al
escribir la siguiente marca. También puede especificar esta configuración en la configuración global
(consulte la configuración
[min\_compress\_block\_size](/es/reference/settings/merge-tree-settings/min#min_compress_block_size)).
El valor especificado cuando se crea la tabla sobrescribe el valor global
de esta configuración.

## min\_index\_granularity\_bytes

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

Tamaño mínimo permitido de los gránulos de datos en bytes.

Sirve como protección para evitar crear accidentalmente tablas con un
`index_granularity_bytes` demasiado bajo.

## min\_marks\_to\_honor\_max\_concurrent\_queries

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

El número mínimo de marcas que debe leer la consulta para aplicar la configuración [max\_concurrent\_queries](/es/reference/settings/merge-tree-settings/max#max_concurrent_queries).

<Note>
  Las consultas seguirán estando limitadas por otras configuraciones de `max_concurrent_queries`.
</Note>

Valores posibles:

* Entero positivo.
* `0` — Deshabilitado (el límite de `max_concurrent_queries` no se aplica a ninguna consulta).

**Ejemplo**

```xml theme={null}
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>
```

## min\_merge\_bytes\_to\_use\_direct\_io

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

El volumen mínimo de datos de una operación de merge necesario para usar
acceso de E/S directa al disco de almacenamiento. Al hacer merge de partes de datos, ClickHouse calcula
el volumen total de almacenamiento de todos los datos que se van a hacer merge. Si el volumen supera
los `min_merge_bytes_to_use_direct_io` bytes, ClickHouse lee y escribe los
datos en el disco de almacenamiento mediante la interfaz de E/S directa (opción `O_DIRECT`).
Si `min_merge_bytes_to_use_direct_io = 0`, la E/S directa se deshabilita.

## min\_partition\_age\_to\_force\_merge\_seconds

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "0"},{"label": "New setting to force merging of parts in partitions that no longer receive inserts"}]}]} />

Fusiona las partes de una partición si todas ellas son más antiguas que este
valor, es decir, si la partición ya no recibe inserciones. A diferencia de
`min_age_to_force_merge_seconds` combinado con `min_age_to_force_merge_on_partition_only`,
la partición no tiene que caber en una única fusión: cada fusión sigue
respetando `max_bytes_to_merge_at_max_space_in_pool`. Funciona con los selectores de merge
Simple y StochasticSimple.

La antigüedad que se compara aquí es la de la parte más reciente de la partición
(`now - modification_time`, minimizado sobre sus partes), de modo que la regla
solo se activa cuando todas las partes han superado ese valor. Cualquier parte
nueva la reinicia: una inserción, una mutación y también cada fusión que asigna
esta misma configuración, ya que la parte fusionada es nueva. Por tanto, el
forzado se desactiva en cuanto se completa una fusión forzada y vuelve a
activarse solo después de que transcurra de nuevo ese valor sin partes nuevas,
de manera que una partición que necesita varias fusiones se compacta en rondas
sucesivas separadas por este intervalo, y no en una única pasada continua.

El forzado funciona exactamente igual que en `min_age_to_force_merge_seconds`:
suspende el requisito de proporción de tamaño que normalmente impide asignar una
fusión desequilibrada, y también suspende el mínimo impuesto por
`min_parts_to_merge_at_once`, por lo que una fusión forzada puede abarcar menos
partes de las que exige ese mínimo. No se desactiva ninguna otra heurística:
`merge_selector_window_size` sigue delimitando qué partes se examinan y
`merge_selector_enable_heuristic_to_remove_small_parts_at_right` sigue
recortando una parte pequeña al final de un rango seleccionado de tres partes o
más. Si una carga de trabajo necesita desactivar alguna de ellas, debe hacerlo
explícitamente mediante su propia configuración.

Con los selectores de merge Simple y StochasticSimple, no puede combinarse con
`min_age_to_force_merge_seconds` junto con
`min_age_to_force_merge_on_partition_only`. Ese par fusiona una partición
entera de una sola vez, y solo una fusión así se marca como final, que es lo que
permite a un `ReplacingMergeTree` ejecutar `CLEANUP`; forzar fusiones regulares
por antigüedad de partición se anticiparía a ello. Utilice ese par para las
particiones que caben en una única fusión y esta configuración para las que no.
Los demás selectores ignoran esta configuración, por lo que con ellos la
combinación sí se acepta.

Valores posibles:

* Entero positivo.

## min\_parts\_to\_merge\_at\_once

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

Cantidad mínima de partes de datos que el selector de merge puede elegir para fusionar de una sola vez
(configuración de nivel experto; no la cambie si no entiende lo que hace).
0 - deshabilitado. Funciona con los selectores de merge Simple y StochasticSimple.

## min\_replicated\_logs\_to\_keep

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

Mantiene aproximadamente este número de los registros más recientes en el log de ZooKeeper, incluso si están
obsoletos. No afecta al funcionamiento de las tablas: se usa solo para diagnosticar el log de ZooKeeper
antes de limpiarlo.

Posibles valores:

* Cualquier entero positivo.
