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

> SETTINGS de MergeTree en `system.merge_tree_settings`

# SETTINGS de las tablas MergeTree

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  const cells = [["Type", <Badge color="surface">{type}</Badge>], ["Default value", <Badge color="surface">{default_value}</Badge>]];
  if (changeable_without_restart) {
    const isYes = String(changeable_without_restart).trim().toLowerCase() === "yes";
    const badge = isYes ? <Badge icon="check" stroke color="green" size="sm">Yes</Badge> : <Badge icon="x" stroke color="red" size="sm">No</Badge>;
    cells.push(["Changeable without restart", badge]);
  }
  return <table>
      <thead>
        <tr>
          {cells.map(([h]) => <th key={h}>{h}</th>)}
        </tr>
      </thead>
      <tbody>
        <tr>
          {cells.map(([h, v]) => <td key={h}>{v}</td>)}
        </tr>
      </tbody>
    </table>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </a>
                </u>
            </span>
        </div>;
};

export const ExperimentalBadge = () => {
  return <div className="experimentalBadge">
            <div className="experimentalIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.25" d="M5.5 2H10.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M9.50015 2V6.19625L13.4283 12.7425C13.4738 12.8183 13.4985 12.9049 13.4996 12.9934C13.5008 13.0818 13.4785 13.169 13.435 13.246C13.3914 13.323 13.3283 13.3871 13.2519 13.4317C13.1755 13.4764 13.0886 13.4999 13.0002 13.5H3.00015C2.91164 13.5 2.8247 13.4766 2.74822 13.432C2.67174 13.3874 2.60847 13.3233 2.56487 13.2463C2.52126 13.1693 2.49889 13.082 2.50004 12.9935C2.50119 12.905 2.52582 12.8184 2.5714 12.7425L6.50015 6.19625V2" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.25" d="M4.47656 9.56754C5.30344 9.41254 6.47656 9.47942 7.99969 10.25C10.0153 11.2707 11.4216 11.0569 12.2184 10.7282" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            Experimental feature. <u><a href="/docs/beta-and-experimental-features#experimental-features">Learn more.</a></u>
        </div>;
};

La tabla del sistema `system.merge_tree_settings` muestra los SETTINGS de MergeTree establecidos globalmente.

Los SETTINGS de MergeTree pueden definirse en la sección `merge_tree` del archivo de configuración del servidor, o especificarse de forma individual para cada tabla `MergeTree` en
la cláusula `SETTINGS` de la sentencia `CREATE TABLE`.

Ejemplo de cómo personalizar el SETTING `max_suspicious_broken_parts`:

Configure el valor predeterminado para todas las tablas `MergeTree` en el archivo de configuración del servidor:

```text theme={null}
<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>
```

Definido para una tabla concreta:

```sql theme={null}
CREATE TABLE tab
(
    `A` Int64
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS max_suspicious_broken_parts = 500;
```

Cambie los SETTINGS de una tabla específica con `ALTER TABLE ... MODIFY SETTING`:

```sql theme={null}
ALTER TABLE tab MODIFY SETTING max_suspicious_broken_parts = 100;

-- restablecer al valor predeterminado global (valor de system.merge_tree_settings)
ALTER TABLE tab RESET SETTING max_suspicious_broken_parts;
```

<div id="mergetree-settings">
  ## SETTINGS de MergeTree
</div>

<div id="adaptive_write_buffer_initial_size">
  ## adaptive\_write\_buffer\_initial\_size
</div>

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

Tamaño inicial del búfer de escritura adaptativo

<div id="add_implicit_sign_column_constraint_for_collapsing_engine">
  ## add\_implicit\_sign\_column\_constraint\_for\_collapsing\_engine
</div>

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

Si es true, añade una restricción implícita para la columna `sign` de una tabla CollapsingMergeTree
o VersionedCollapsingMergeTree, de modo que solo se permitan valores válidos (`1` y `-1`).

<div id="add_minmax_index_for_block_number_column">
  ## add\_minmax\_index\_for\_block\_number\_column
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nueva SETTING."}]}]} />

Cuando está habilitada, se añade un índice min-max implícito (de omisión) para la columna virtual persistente `_block_number`.
Requiere `enable_block_number_column = 1` para surtir efecto. El índice se crea solo durante las fusiones,
no durante las inserciones: en el momento de la inserción, el número de bloque es provisional e indexaría un valor constante.

<div id="add_minmax_index_for_block_offset_column">
  ## add\_minmax\_index\_for\_block\_offset\_column
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nueva SETTING."}]}]} />

Cuando se habilita, se añade un índice min-max implícito (omisión) para la columna virtual persistente `_block_offset`.
Requiere `enable_block_offset_column = 1` para surtir efecto. El índice se crea solo durante las fusiones,
no durante las inserciones.

<div id="add_minmax_index_for_numeric_columns">
  ## add\_minmax\_index\_for\_numeric\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Nueva SETTING"}]}]} />

Cuando está activada, se añaden índices min-max (de omisión) a todas las columnas numéricas
de la tabla.

<div id="add_minmax_index_for_string_columns">
  ## add\_minmax\_index\_for\_string\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Nuevo SETTING"}]}]} />

Cuando está habilitada, se añaden índices min-max (de omisión) para todas las columnas de cadena de la tabla.

<div id="add_minmax_index_for_temporal_columns">
  ## add\_minmax\_index\_for\_temporal\_columns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nueva SETTING"}]}]} />

Cuando está activada, se añaden índices min-max de omisión para todas las columnas Date, Date32, Time, Time64, DateTime y DateTime64 de la tabla

<div id="allow_coalescing_columns_in_partition_or_order_key">
  ## allow\_coalescing\_columns\_in\_partition\_or\_order\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": "0"},{"label": "Nueva SETTING que permite usar columnas de coalescencia en la partición o en la clave de ordenación."}]}]} />

Cuando está habilitado, permite usar columnas de coalescencia en una tabla CoalescingMergeTree en
la partición o en la clave de ordenación.

<div id="allow_commit_order_projection">
  ## allow\_commit\_order\_projection
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Nueva SETTING"}]}]} />

Habilita las proyecciones con orden de commit que almacenan las columnas virtuales `_block_number` y `_block_offset`, preservando el orden de inserción original durante las fusiones.
Requiere que `enable_block_number_column` y `enable_block_offset_column` estén habilitadas.

<div id="allow_experimental_replacing_merge_with_cleanup">
  ## allow\_experimental\_replacing\_merge\_with\_cleanup
</div>

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

Permite fusiones CLEANUP experimentales para ReplacingMergeTree con la
columna `is_deleted`. Cuando está habilitado, permite usar `OPTIMIZE ... FINAL CLEANUP` para
fusionar manualmente todas las partes de una partición en una sola parte y eliminar
las filas marcadas como eliminadas.

También permite habilitar que estas fusiones se realicen automáticamente en segundo plano
con las configuraciones `min_age_to_force_merge_seconds`,
`min_age_to_force_merge_on_partition_only` y
`enable_replacing_merge_with_cleanup_for_min_age_to_force_merge`.

<div id="allow_experimental_reverse_key">
  ## allow\_experimental\_reverse\_key
</div>

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

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

Habilita la compatibilidad con el orden descendente en las claves de ordenación
de MergeTree. Esta configuración es especialmente útil para el análisis de
series temporales y las consultas Top-N, ya que permite almacenar los datos en
orden cronológico inverso para optimizar el rendimiento de las consultas.

Con `allow_experimental_reverse_key` habilitado, puede definir órdenes
descendentes dentro de la cláusula `ORDER BY` de una tabla MergeTree. Esto
permite usar optimizaciones `ReadInOrder` más eficientes en lugar de
`ReadInReverseOrder` para consultas descendentes.

**Ejemplo**

```sql theme={null}
CREATE TABLE example
(
time DateTime,
key Int32,
value String
) ENGINE = MergeTree
ORDER BY (time DESC, key)  -- Orden descendente en el campo 'time'
SETTINGS allow_experimental_reverse_key = 1;

SELECT * FROM example WHERE key = 'xxx' ORDER BY time DESC LIMIT 10;
```

Al usar `ORDER BY time DESC` en la consulta, se aplica `ReadInOrder`.

**Valor predeterminado:** false

<div id="allow_floating_point_partition_key">
  ## allow\_floating\_point\_partition\_key
</div>

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

Permite usar un número de coma flotante como clave de partición.

Valores posibles:

* `0` — No se permite una clave de partición de coma flotante.
* `1` — Se permite una clave de partición de coma flotante.

<div id="allow_nullable_key">
  ## allow\_nullable\_key
</div>

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

Permite tipos Nullable como claves primarias.

<div id="allow_part_offset_column_in_projections">
  ## allow\_part\_offset\_column\_in\_projections
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Ahora las proyecciones pueden usar la columna _part_offset."}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "0"},{"label": "Nueva SETTING; evita crear proyecciones con la columna de offset de la parte padre hasta que se estabilice."}]}]} />

Permite usar la columna '\_part\_offset' en la consulta SELECT de las proyecciones.

<div id="allow_reduce_blocking_parts_task">
  ## allow\_reduce\_blocking\_parts\_task
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Ahora, SMT eliminará de forma predeterminada las partes bloqueantes obsoletas de ZooKeeper"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Cloud sync"}]}]} />

Tarea en segundo plano que reduce las partes bloqueantes en las tablas shared merge tree.
Solo en ClickHouse Cloud

<div id="allow_remote_fs_zero_copy_replication">
  ## allow\_remote\_fs\_zero\_copy\_replication
</div>

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

No use esta configuración en producción, ya que no está lista.

<div id="allow_summing_columns_in_partition_or_order_key">
  ## allow\_summing\_columns\_in\_partition\_or\_order\_key
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "Nueva SETTING para permitir que las columnas sumadas formen parte de la partición o de la clave de ordenación"}]}]} />

Cuando está habilitada, permite que las columnas sumadas de una tabla SummingMergeTree se usen en
la partición o en la clave de ordenación.

<div id="allow_suspicious_indices">
  ## allow\_suspicious\_indices
</div>

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

Rechaza índices primarios/secundarios y claves de ordenación con la misma expresión

<div id="allow_vertical_merges_from_compact_to_wide_parts">
  ## allow\_vertical\_merges\_from\_compact\_to\_wide\_parts
</div>

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

Permite las fusiones verticales de partes compactas a anchas. Esta configuración debe tener
el mismo valor en todas las réplicas.

<div id="alter_column_secondary_index_mode">
  ## alter\_column\_secondary\_index\_mode
</div>

<SettingsInfoBlock type="AlterColumnSecondaryIndexMode" default_value="rebuild" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "rebuild"},{"label": "Cambia el comportamiento para permitir `ALTER` en una `columna` cuando tiene índices secundarios dependientes"}]}]} />

Configura si se permiten los comandos `ALTER` que modifican columnas cubiertas por índices secundarios y qué acción debe tomarse si
se permiten. De forma predeterminada, estos comandos `ALTER` están permitidos y los índices se reconstruyen.

Valores posibles:

* `rebuild` (predeterminado): Reconstruye cualquier índice secundario afectado por la columna en el comando `ALTER`.
* `throw`: Impide cualquier `ALTER` de columnas cubiertas por índices secundarios **explícitos** lanzando una excepción. Los índices implícitos quedan excluidos de esta restricción y se reconstruirán.
* `drop`: Elimina los índices secundarios dependientes. Las partes nuevas no tendrán los índices, por lo que será necesario `MATERIALIZE INDEX` para volver a crearlos.
* `compatibility`: Mantiene el comportamiento original: `throw` en `ALTER ... MODIFY COLUMN` y `rebuild` en `ALTER ... UPDATE/DELETE`.
* `ignore`: Pensado para uso experto. Dejará los índices en un estado inconsistente, lo que puede dar lugar a resultados de consulta incorrectos.

<div id="always_fetch_merged_part">
  ## always\_fetch\_merged\_part
</div>

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

Si es true, esta réplica nunca realiza fusiones de partes y siempre descarga partes fusionadas
de otras réplicas.

Valores posibles:

* true, false

<div id="always_use_copy_instead_of_hardlinks">
  ## always\_use\_copy\_instead\_of\_hardlinks
</div>

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

Copie siempre los datos en lugar de usar enlaces duros durante operaciones de mutation/replace/detach
y así sucesivamente.

<div id="apply_patches_on_merge">
  ## apply\_patches\_on\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1"},{"label": "Nueva SETTING"}]}]} />

Si es true, las partes de parche se aplican durante las fusiones

<div id="assign_part_uuids">
  ## assign\_part\_uuids
</div>

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

Cuando está habilitado, se asignará un identificador único a cada parte nueva.
Antes de habilitarlo, compruebe que todas las réplicas admitan la versión 4 de UUID.

<div id="async_block_ids_cache_update_wait_ms">
  ## async\_block\_ids\_cache\_update\_wait\_ms
</div>

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

Cuánto tiempo esperará cada iteración de insert a que se actualice async\_block\_ids\_cache

<div id="async_insert">
  ## async\_insert
</div>

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

Si es true, los datos de la consulta INSERT se almacenan en una cola y luego se escriben en la tabla en segundo plano.

<div id="auto_statistics_types">
  ## auto\_statistics\_types
</div>

<SettingsInfoBlock type="String" default_value="minmax, uniq" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "minmax, uniq"},{"label": "Activa las estadísticas automáticas de forma predeterminada"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": ""},{"label": "Nueva SETTING"}]}]} />

Lista separada por comas de los tipos de estadísticas que se calcularán automáticamente en todas las columnas adecuadas.
Tipos de estadísticas compatibles: tdigest, countmin, minmax, nullcount, uniq.

<div id="background_task_preferred_step_execution_time_ms">
  ## background\_task\_preferred\_step\_execution\_time\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="50" />

Tiempo objetivo de ejecución de un paso de fusión o mutation. Puede superarse si
un paso tarda más

<div id="cache_populated_by_fetch">
  ## cache\_populated\_by\_fetch
</div>

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

<Note>
  Esta SETTING se aplica únicamente a ClickHouse Cloud.
</Note>

Cuando `cache_populated_by_fetch` está deshabilitada (SETTING predeterminada), las nuevas
partes de datos se cargan en la caché del sistema de archivos solo cuando se ejecuta una consulta que requiere
esas partes.

Si está habilitada, `cache_populated_by_fetch` hace que todos los nodos carguen
las nuevas partes de datos desde el almacenamiento en su caché del sistema de archivos, sin necesidad de que una consulta
desencadene esa acción.

**Véase también**

* [ignore\_cold\_parts\_seconds](/es/reference/settings/session-settings#ignore_cold_parts_seconds)
* [prefer\_warmed\_unmerged\_parts\_seconds](/es/reference/settings/session-settings#prefer_warmed_unmerged_parts_seconds)
* [cache\_warmer\_threads](/es/reference/settings/session-settings#cache_warmer_threads)

<div id="cache_populated_by_fetch_filename_regexp">
  ## cache\_populated\_by\_fetch\_filename\_regexp
</div>

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.6"},{"label": ""},{"label": "Nueva SETTING"}]}]} />

<Note>
  Esta SETTING se aplica solo a ClickHouse Cloud.
</Note>

Si no está vacío, solo se precargarán en la caché, después de la operación `fetch`, los archivos que coincidan con esta expresión regular (si `cache_populated_by_fetch` está habilitado).

<div id="check_delay_period">
  ## check\_delay\_period
</div>

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

SETTING obsoleta, no tiene ningún efecto.

<div id="check_sample_column_is_correct">
  ## check\_sample\_column\_is\_correct
</div>

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

Habilita la comprobación, al crear la tabla, de que el tipo de dato de una columna para el m
uestreo o de la expresión de muestreo sea correcto. El tipo de dato debe ser uno de los [tipos
de enteros](/es/reference/data-types/int-uint) sin signo: `UInt8`, `UInt16`,
`UInt32`, `UInt64`.

Valores posibles:

* `true`  — La comprobación está habilitada.
* `false` — La comprobación se deshabilita al crear la tabla.

Valor predeterminado: `true`.

De forma predeterminada, el servidor de ClickHouse comprueba, al crear la tabla, el tipo de dato de
una columna para el muestreo o de la expresión de muestreo. Si ya tiene tablas con
una expresión de muestreo incorrecta y no quiere que el servidor genere una excepción
durante el inicio, establezca `check_sample_column_is_correct` en `false`.

<div id="clean_deleted_rows">
  ## clean\_deleted\_rows
</div>

<SettingsInfoBlock type="CleanDeletedRows" default_value="Nunca" />

SETTING obsoleta; no tiene efecto.

<div id="cleanup_delay_period">
  ## cleanup\_delay\_period
</div>

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

Período mínimo para limpiar logs antiguos de la cola, hash de bloques y partes.

<div id="cleanup_delay_period_random_add">
  ## cleanup\_delay\_period\_random\_add
</div>

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

Añade a cleanup\_delay\_period un valor distribuido uniformemente entre 0 y x segundos
para evitar el efecto de estampida y el posterior DoS de ZooKeeper en caso de
haber un número muy elevado de tablas.

<div id="cleanup_thread_preferred_points_per_iteration">
  ## cleanup\_thread\_preferred\_points\_per\_iteration
</div>

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

Tamaño de Batch preferido para la limpieza en segundo plano (los puntos son abstractos, pero 1 punto
equivale aproximadamente a 1 bloque insertado).

<div id="cleanup_threads">
  ## cleanup\_threads
</div>

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

SETTING obsoleta, no tiene ningún efecto.

<div id="clone_replica_zookeeper_create_get_part_batch_size">
  ## clone\_replica\_zookeeper\_create\_get\_part\_batch\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "100"},{"label": "Nueva SETTING"}]}]} />

Tamaño del lote para las solicitudes get-part de creación múltiple en ZooKeeper al clonar una réplica.

<div id="columns_and_secondary_indices_sizes_lazy_calculation">
  ## columns\_and\_secondary\_indices\_sizes\_lazy\_calculation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "1"},{"label": "Nueva SETTING para calcular de forma diferida los tamaños de las columnas y de los índices secundarios"}]}]} />

Calcula de forma diferida los tamaños de las columnas y de los índices secundarios en la primera solicitud en lugar
de hacerlo durante la inicialización de la tabla.

<div id="columns_to_prewarm_mark_cache">
  ## columns\_to\_prewarm\_mark\_cache
</div>

Lista de columnas para precalentar la caché de marcas (si está habilitada). Si está vacío, significa todas las columnas

<div id="compact_parts_max_bytes_to_buffer">
  ## compact\_parts\_max\_bytes\_to\_buffer
</div>

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

Solo disponible en ClickHouse Cloud. Número máximo de bytes que se pueden escribir en una
sola franja en partes compactas

<div id="compact_parts_max_granules_to_buffer">
  ## compact\_parts\_max\_granules\_to\_buffer
</div>

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

Solo disponible en ClickHouse Cloud. Número máximo de gránulos que se pueden escribir en una
sola stripe de partes compactas

<div id="compact_parts_merge_max_bytes_to_prefetch_part">
  ## compact\_parts\_merge\_max\_bytes\_to\_prefetch\_part
</div>

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

Solo disponible en ClickHouse Cloud. Tamaño máximo de una parte compacta para leerla
completa en memoria durante la fusión.

<div id="compatibility_allow_sampling_expression_not_in_primary_key">
  ## compatibility\_allow\_sampling\_expression\_not\_in\_primary\_key
</div>

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

Permite crear una tabla con una expresión de muestreo que no forme parte de la clave primaria. Esto
solo es necesario para permitir temporalmente la ejecución del servidor con tablas incorrectas por
compatibilidad con versiones anteriores.

<div id="compress_marks">
  ## compress\_marks
</div>

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

Las marcas admiten compresión, lo que reduce el tamaño del archivo de marcas y acelera la
transmisión por la red.

<div id="compress_per_column_in_compact_parts">
  ## compress\_per\_column\_in\_compact\_parts
</div>

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

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

Controla la disposición física de las partes compactas. Si es true (valor predeterminado), cada columna de un gránulo
inicia un nuevo bloque comprimido, lo que permite a ClickHouse omitir la lectura de columnas innecesarias
desde disco. Si es false, todas las columnas de un gránulo se empaquetan en el mismo bloque comprimido,
lo que mejora la relación de compresión, pero requiere descomprimir más datos durante la lectura.
Esto resulta beneficioso para cargas de trabajo que siempre leen todas las columnas (p. ej., proyecciones).

<div id="compress_primary_key">
  ## compress\_primary\_key
</div>

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

La clave primaria admite compresión, lo que reduce el tamaño del archivo de la clave primaria y acelera la
transmisión por la red.

<div id="concurrent_part_removal_threshold">
  ## concurrent\_part\_removal\_threshold
</div>

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

Activa la eliminación concurrente de partes (consulta `max_part_removal_threads`) solo si
el número de partes de datos inactivas es al menos este valor.

<div id="concurrent_part_removal_threshold_for_remote_disk">
  ## concurrent\_part\_removal\_threshold\_for\_remote\_disk
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "16"},{"label": "Nueva configuración. Umbral más bajo para entrar en la ruta de eliminación concurrente de partes cuando alguna de las partes que se va a eliminar está en un disco remoto, donde cada eliminación suele implicar una ida y vuelta por la red. El valor anterior (100) coincide con el valor predeterminado heredado de `concurrent_part_removal_threshold`, por lo que los modos `compatibility` anteriores conservan el comportamiento previo."}]}]} />

Igual que `concurrent_part_removal_threshold`, pero se usa cuando al menos una
de las partes que se van a eliminar está almacenada en un disco remoto. El valor predeterminado es más bajo
porque cada eliminación de una parte en almacenamiento remoto normalmente requiere una
ida y vuelta por la red (por ejemplo, un `DELETE` HTTP por parte en el almacenamiento de objetos), por lo que una
eliminación en serie de tan solo 100 partes puede bloquear un `DROP TABLE` durante decenas de
segundos.

<div id="deduplicate_merge_projection_mode">
  ## deduplicate\_merge\_projection\_mode
</div>

<SettingsInfoBlock type="DeduplicateMergeProjectionMode" default_value="throw" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "throw"},{"label": "No permitir la creación de una proyección inconsistente"}]}]} />

Indica si se permite crear una proyección para una table con un MergeTree no clásico,
es decir, que no sea (Replicated, Shared) MergeTree. La opción `ignore` es solo por
compatibilidad y puede dar lugar a respuestas incorrectas. En caso de que se permita,
define qué acción realizar al fusionar projections: `drop` o `rebuild`. Por tanto, el
MergeTree clásico ignorará esta configuración. También controla `OPTIMIZE DEDUPLICATE`,
pero surte efecto en todos los miembros de la familia MergeTree. Al igual que la
opción `lightweight_mutation_projection_mode`, también es a nivel de part.

Valores posibles:

* `ignore`
* `throw`
* `drop`
* `rebuild`

<div id="default_compression_codec">
  ## default\_compression\_codec
</div>

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

Especifica el códec de compresión predeterminado que se utilizará si no se define ninguno para una columna concreta en la declaración de la tabla.
Orden de selección del códec de compresión para una columna:

1. Códec de compresión definido para la columna en la declaración de la tabla
2. Códec de compresión definido en `default_compression_codec` (esta configuración)
3. Códec de compresión predeterminado definido en la configuración `compression`
   Valor predeterminado: una cadena vacía (sin definir).

<div id="detach_not_byte_identical_parts">
  ## detach\_not\_byte\_identical\_parts
</div>

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

Habilita o deshabilita el desacoplamiento de una parte de datos en una réplica después de una
fusión o una mutación, si no es idéntica byte por byte a las partes de datos de otras réplicas. Si está
deshabilitada, la parte de datos se elimina. Active esta configuración si desea
analizar esas partes más adelante.

La configuración es aplicable a las tablas `MergeTree` con
[replicación de datos](/es/reference/engines/table-engines/mergetree-family/replacingmergetree) habilitada.

Valores posibles:

* `0` — Las partes se eliminan.
* `1` — Las partes se desacoplan.

<div id="detach_old_local_parts_when_cloning_replica">
  ## detach\_old\_local\_parts\_when\_cloning\_replica
</div>

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

No elimina las partes locales antiguas al reparar una réplica perdida.

Valores posibles:

* `true`
* `false`

<div id="disable_detach_partition_for_zero_copy_replication">
  ## disable\_detach\_partition\_for\_zero\_copy\_replication
</div>

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

Deshabilita la consulta DETACH PARTITION para la replicación sin copia.

<div id="disable_fetch_partition_for_zero_copy_replication">
  ## disable\_fetch\_partition\_for\_zero\_copy\_replication
</div>

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

Deshabilita la consulta FETCH PARTITION para la replicación sin copia.

<div id="disable_freeze_partition_for_zero_copy_replication">
  ## disable\_freeze\_partition\_for\_zero\_copy\_replication
</div>

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

Deshabilita la consulta FREEZE PARTITION en la replicación sin copia.

<div id="disk">
  ## disco
</div>

Nombre del disco de almacenamiento. Puede especificarse en lugar de una política de almacenamiento.

<div id="distributed_index_analysis_min_indexes_bytes_to_activate">
  ## distributed\_index\_analysis\_min\_indexes\_bytes\_to\_activate
</div>

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

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

Tamaños mínimos de los índices (de omisión de datos y de clave primaria) en disco (sin comprimir) para activar el análisis distribuido de índices

<div id="distributed_index_analysis_min_parts_to_activate">
  ## distributed\_index\_analysis\_min\_parts\_to\_activate
</div>

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

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

Número mínimo de partes para activar el análisis distribuido de índices

<div id="dynamic_serialization_version">
  ## dynamic\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeDynamicSerializationVersion" default_value="v3" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "v2"},{"label": "Se añade una SETTING para controlar las versiones de serialización de Dynamic"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "v3"},{"label": "Se habilita de forma predeterminada la versión de serialización v3 para Dynamic para mejorar la serialización/deserialización"}]}]} />

Versión de serialización para el tipo de datos Dynamic. Necesaria para la compatibilidad.

Valores posibles:

* `v1`
* `v2`
* `v3`

<div id="enable_block_number_column">
  ## enable\_block\_number\_column
</div>

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

Habilita el almacenamiento de la columna \_block\_number para cada fila.

<div id="enable_block_offset_column">
  ## enable\_block\_offset\_column
</div>

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

Guarda la columna virtual `_block_offset` durante las fusiones.

<div id="enable_index_granularity_compression">
  ## enable\_index\_granularity\_compression
</div>

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

Comprime los valores en memoria de la granularidad del índice, si es posible

<div id="enable_max_bytes_limit_for_min_age_to_force_merge">
  ## enable\_max\_bytes\_limit\_for\_min\_age\_to\_force\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "Limita el tamaño de las partes incluso con min_age_to_force_merge_seconds de forma predeterminada"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Se añadió una nueva SETTING para limitar el número máximo de bytes de min_age_to_force_merge."}]}, {"id": "row-3","items": [{"label": "25.1"},{"label": "0"},{"label": "Nueva SETTING"}]}]} />

Si las SETTINGS `min_age_to_force_merge_seconds` y
`min_age_to_force_merge_on_partition_only` deben respetar la SETTING
`max_bytes_to_merge_at_max_space_in_pool`.

Valores posibles:

* `true`
* `false`

<div id="enable_mixed_granularity_parts">
  ## enable\_mixed\_granularity\_parts
</div>

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

Habilita o deshabilita la transición al control del tamaño del gránulo mediante la
configuración `index_granularity_bytes`. Antes de la versión 19.11, solo existía la
configuración `index_granularity` para restringir el tamaño del gránulo. La
configuración `index_granularity_bytes` mejora el rendimiento de ClickHouse al
seleccionar datos de tablas con filas grandes (decenas o cientos de megabytes).
Si tiene tablas con filas grandes, puede habilitar esta configuración en ellas
para mejorar la eficiencia de las consultas `SELECT`.

<div id="enable_replacing_merge_with_cleanup_for_min_age_to_force_merge">
  ## enable\_replacing\_merge\_with\_cleanup\_for\_min\_age\_to\_force\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.3"},{"label": "0"},{"label": "Nueva SETTING para permitir fusiones CLEANUP automáticas en ReplacingMergeTree"}]}]} />

Indica si se deben usar fusiones `CLEANUP` para ReplacingMergeTree al fusionar particiones
hasta reducirlas a una sola parte. Requiere que `allow_experimental_replacing_merge_with_cleanup`,
`min_age_to_force_merge_seconds` y `min_age_to_force_merge_on_partition_only`
estén habilitados.

Valores posibles:

* `true`
* `false`

<div id="enable_the_endpoint_id_with_zookeeper_name_prefix">
  ## enable\_the\_endpoint\_id\_with\_zookeeper\_name\_prefix
</div>

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

Habilita el ID del endpoint con el prefijo de nombre de ZooKeeper para la
tabla MergeTree replicada.

<div id="enable_vertical_merge_algorithm">
  ## enable\_vertical\_merge\_algorithm
</div>

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

Activa el uso del algoritmo de fusión vertical.

<div id="enforce_index_structure_match_on_partition_manipulation">
  ## enforce\_index\_structure\_match\_on\_partition\_manipulation
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.12"},{"label": "0"},{"label": "Nueva SETTING"}]}]} />

Si esta SETTING está habilitada para la tabla de destino de una consulta de manipulación de particiones
(`ATTACH/MOVE/REPLACE PARTITION`), los índices y las proyecciones deben ser
idénticos entre la tabla de origen y la de destino. De lo contrario, la tabla de destino
puede tener un conjunto de índices y proyecciones que sea un superconjunto del de la tabla de origen.

<div id="escape_index_filenames">
  ## escape\_index\_filenames
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "1"},{"label": "Escapar caracteres no ASCII en nombres de archivo creados para índices"}]}]} />

Antes de la versión 26.1, no escapábamos los símbolos especiales en los nombres de archivo creados para índices secundarios, lo que podía provocar problemas, ya que algunos
caracteres en los nombres de los índices podían generar partes dañadas. Esto se añade únicamente por motivos de compatibilidad. No debe cambiarse a menos que
esté leyendo partes antiguas con índices que usan caracteres no ASCII en sus nombres.

<div id="escape_variant_subcolumn_filenames">
  ## escape\_variant\_subcolumn\_filenames
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Escapar los símbolos especiales en los nombres de archivo creados para las subcolumnas del tipo Variant en partes Wide"}]}]} />

Escapar los símbolos especiales en los nombres de archivo creados para las subcolumnas del tipo de datos Variant en partes Wide de la tabla MergeTree. Necesario para mantener la compatibilidad.

<div id="exclude_deleted_rows_for_part_size_in_merge">
  ## exclude\_deleted\_rows\_for\_part\_size\_in\_merge
</div>

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

Si está habilitada, al seleccionar las partes que se van a fusionar se usará el tamaño real estimado de las partes de datos (es decir, excluyendo las filas
que se hayan eliminado mediante `DELETE FROM`). Tenga en cuenta que este comportamiento solo se activa para las partes de datos
afectadas por `DELETE FROM` ejecutado después de habilitar esta configuración.

Valores posibles:

* `true`
* `false`

**Véase también**

* [load\_existing\_rows\_count\_for\_old\_parts](#load_existing_rows_count_for_old_parts)
  configuración

<div id="exclude_materialize_skip_indexes_on_merge">
  ## exclude\_materialize\_skip\_indexes\_on\_merge
</div>

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

Excluye la lista proporcionada de índices de omisión, delimitada por comas, para que no se creen ni se almacenen durante las fusiones. No tiene efecto si
[materialize\_skip\_indexes\_on\_merge](#materialize_skip_indexes_on_merge) es false.

Los índices de omisión excluidos seguirán creándose y almacenándose mediante una
consulta [MATERIALIZE INDEX](/es/reference/statements/alter/skipping-index#materialize-index) explícita o durante los INSERT, según
la configuración de sesión [materialize\_skip\_indexes\_on\_insert](/es/reference/settings/session-settings#materialize_skip_indexes_on_insert).

Ejemplo:

```sql theme={null}
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- la configuración no tiene efecto en los INSERTs

-- idx_a será excluido de la actualización durante una fusión en segundo plano o explícita mediante OPTIMIZE TABLE FINAL

-- se pueden excluir múltiples índices proporcionando una lista
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';

-- configuración predeterminada, ningún índice excluido de actualizarse durante la fusión
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';
```

<div id="execute_merges_on_single_replica_time_threshold">
  ## execute\_merges\_on\_single\_replica\_time\_threshold
</div>

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

Cuando esta SETTING tiene un valor mayor que cero, solo una réplica inicia
la fusión de inmediato, y las demás esperan hasta ese tiempo para
descargar el resultado en lugar de realizar las fusiones localmente. Si la réplica elegida
no termina la fusión dentro de ese plazo, se aplica el comportamiento estándar.

Valores posibles:

* Cualquier entero positivo.

<div id="fault_probability_after_part_commit">
  ## fault\_probability\_after\_part\_commit
</div>

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

Para pruebas. No lo modifique.

<div id="fault_probability_before_part_commit">
  ## fault\_probability\_before\_part\_commit
</div>

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

Solo para pruebas. No lo cambie.

<div id="finished_mutations_to_keep">
  ## finished\_mutations\_to\_keep
</div>

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

Cuántos registros sobre mutaciones ya realizadas se deben conservar. Si es cero, se conservan
todos.

<div id="force_read_through_cache_for_merges">
  ## force\_read\_through\_cache\_for\_merges
</div>

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

Forzar la lectura mediante la caché del sistema de archivos para las fusiones

<div id="fsync_after_insert">
  ## fsync\_after\_insert
</div>

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

Ejecuta `fsync` en cada parte insertada. Reduce significativamente el rendimiento de las inserciones; no se recomienda usarlo con partes wide.

<div id="fsync_part_directory">
  ## fsync\_part\_directory
</div>

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

Realiza `fsync` en el directorio de la parte después de todas las operaciones de la parte (escrituras, renombrados, etc.).

<div id="in_memory_parts_enable_wal">
  ## in\_memory\_parts\_enable\_wal
</div>

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

SETTING obsoleta; no tiene ningún efecto.

<div id="in_memory_parts_insert_sync">
  ## in\_memory\_parts\_insert\_sync
</div>

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

SETTING obsoleta; no tiene efecto.

<div id="inactive_parts_to_delay_insert">
  ## inactive\_parts\_to\_delay\_insert
</div>

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

Si el número de partes inactivas en una sola partición de la tabla supera
el valor de `inactive_parts_to_delay_insert`, la operación `INSERT` se
ralentiza artificialmente.

<Tip>
  Esto es útil cuando el servidor no consigue limpiar las partes con la suficiente rapidez.
</Tip>

Valores posibles:

* Cualquier entero positivo.

<div id="inactive_parts_to_throw_insert">
  ## inactive\_parts\_to\_throw\_insert
</div>

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

Si el número de partes inactivas en una sola partición supera el valor de
`inactive_parts_to_throw_insert`, `INSERT` se interrumpe con el
siguiente error:

> "Demasiadas partes inactivas (N). La limpieza de partes se está realizando de forma significativamente
> más lenta que los inserts" exception."

Valores posibles:

* Cualquier entero positivo.

<div id="index_granularity">
  ## index\_granularity
</div>

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

Número máximo de filas de datos entre las marcas de un índice; es decir, cuántas filas
corresponden a un valor de clave primaria.

<div id="index_granularity_bytes">
  ## index\_granularity\_bytes
</div>

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

Tamaño máximo de los gránulos de datos, en bytes.

Para restringir el tamaño del gránulo únicamente por el número de filas, establézcalo en `0` (no recomendado).

<div id="initialization_retry_period">
  ## initialization\_retry\_period
</div>

<SettingsInfoBlock type="Seconds" default_value="60" />

Período de reintento para la inicialización de la tabla, en segundos.

<div id="kill_delay_period">
  ## kill\_delay\_period
</div>

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

Configuración obsoleta; no tiene efecto.

<div id="kill_delay_period_random_add">
  ## kill\_delay\_period\_random\_add
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="kill_threads">
  ## kill\_threads
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="lightweight_mutation_projection_mode">
  ## lightweight\_mutation\_projection\_mode
</div>

<SettingsInfoBlock type="LightweightMutationProjectionMode" default_value="throw" />

De forma predeterminada, la eliminación ligera `DELETE` no funciona en tablas con
proyecciones. Esto se debe a que una operación `DELETE` puede afectar a las
filas de una proyección. Por lo tanto, el valor predeterminado es `throw`. Sin
embargo, esta opción puede cambiar ese comportamiento. Con el valor `drop` o
`rebuild`, las eliminaciones funcionarán con proyecciones. `drop` eliminaría la
proyección, por lo que podría ser rápido en la consulta actual, ya que la
proyección se elimina, pero lento en consultas futuras, ya que no habría
ninguna proyección adjunta. `rebuild` reconstruiría la proyección, lo que
podría afectar al rendimiento de la consulta actual, pero podría acelerar las
consultas futuras. Lo bueno es que estas opciones solo funcionarían a nivel de
parte, lo que significa que las proyecciones de la parte que no se vean
afectadas permanecerían intactas en lugar de desencadenar alguna acción como
drop o rebuild.

Valores posibles:

* `throw`
* `drop`
* `rebuild`

<div id="load_existing_rows_count_for_old_parts">
  ## load\_existing\_rows\_count\_for\_old\_parts
</div>

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

Si se habilita junto con [exclude\_deleted\_rows\_for\_part\_size\_in\_merge](#exclude_deleted_rows_for_part_size_in_merge),
el recuento de filas eliminadas de las partes de datos existentes se calculará durante el
inicio de la tabla. Tenga en cuenta que esto puede ralentizar la carga de la tabla durante el inicio.

Valores posibles:

* `true`
* `false`

**Consulte también**

* La configuración [exclude\_deleted\_rows\_for\_part\_size\_in\_merge](#exclude_deleted_rows_for_part_size_in_merge)

<div id="lock_acquire_timeout_for_background_operations">
  ## lock\_acquire\_timeout\_for\_background\_operations
</div>

<SettingsInfoBlock type="Seconds" default_value="120" />

Para operaciones en segundo plano como merges, mutaciones, etc. Indica cuántos segundos se espera antes de que falle la adquisición de bloqueos de tabla.

<div id="map_buckets_coefficient">
  ## map\_buckets\_coefficient
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Añade una configuración para controlar el coeficiente utilizado en las estrategias `sqrt` y `linear` para calcular el número de buckets de la serialización Map 'with_buckets'"}]}]} />

El coeficiente utilizado en [map\_buckets\_strategy](#map_buckets_strategy) `sqrt` y `linear` para calcular el número de buckets a partir del tamaño promedio del Map.
Para la estrategia `sqrt`: `round(map_buckets_coefficient * sqrt(avg_map_size))`.
Para la estrategia `linear`: `round(map_buckets_coefficient * avg_map_size)`.
Se ignora cuando `map_buckets_strategy` es `constant`.

<div id="map_buckets_min_avg_size">
  ## map\_buckets\_min\_avg\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "32"},{"label": "Añade una configuración para controlar el tamaño promedio mínimo de los Map (número de claves por fila) necesario para aplicar la serialización `with_buckets`"}]}]} />

El tamaño promedio mínimo de los Map (número de claves por fila) necesario para aplicar la serialización `with_buckets`.
Si el tamaño promedio de los Map es inferior a este valor, se usa un único bucket independientemente de las demás configuraciones de bucket.
Un valor de `0` desactiva el umbral y siempre aplica la estrategia de segmentación en buckets.
Esta configuración es útil para evitar la sobrecarga de la serialización en buckets en Map pequeños, donde el beneficio es insignificante.

<div id="map_buckets_strategy">
  ## map\_buckets\_strategy
</div>

<SettingsInfoBlock type="MergeTreeMapBucketsStrategy" default_value="sqrt" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "sqrt"},{"label": "Se añade un ajuste para controlar la estrategia de selección del número de buckets para la serialización `with_buckets` de `Map`"}]}]} />

Controla la estrategia para seleccionar el número de buckets en la serialización `with_buckets` de `Map` según el tamaño promedio del mapa.

Valores posibles:

* constant — Usa siempre [max\_buckets\_in\_map](#max_buckets_in_map) como número de buckets, independientemente del tamaño promedio del mapa.
* sqrt — Usa `round(map_buckets_coefficient * sqrt(avg_map_size))` como número de buckets, limitado al intervalo `[1, max_buckets_in_map]`.
* linear — Usa `round(map_buckets_coefficient * avg_map_size)` como número de buckets, limitado al intervalo `[1, max_buckets_in_map]`.

<div id="map_serialization_version">
  ## map\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeMapSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "basic"},{"label": "Se añade una configuración para controlar la versión de serialización de Map"}]}]} />

Controla el método de serialización usado para las columnas `Map`.

Valores posibles:

* basic — Usa la serialización estándar de `Map`.
* with\_buckets — Divide las claves en buckets durante la serialización. El uso de buckets mejora la lectura de claves individuales de Map.

El número de buckets en la serialización `with_buckets` viene determinado por [max\_buckets\_in\_map](#max_buckets_in_map) y [map\_buckets\_strategy](#map_buckets_strategy).

<div id="map_serialization_version_for_zero_level_parts">
  ## map\_serialization\_version\_for\_zero\_level\_parts
</div>

<SettingsInfoBlock type="MergeTreeMapSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "basic"},{"label": "Añade una configuración para controlar la versión de serialización de Map en las partes de nivel cero"}]}]} />

Esta configuración permite especificar una versión de serialización distinta de las
columnas `Map` para las partes de nivel cero que se crean durante las inserciones.
Puede ser útil mantener la serialización `basic` en las partes de nivel cero para evitar
una degradación del rendimiento durante las inserciones, mientras se usa `with_buckets` en las partes fusionadas.

<div id="marks_compress_block_size">
  ## marks\_compress\_block\_size
</div>

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

Tamaño del bloque de compresión de las marcas; es el tamaño real del bloque que se va a comprimir.

<div id="marks_compression_codec">
  ## marks\_compression\_codec
</div>

<SettingsInfoBlock type="String" default_value="ZSTD(3)" />

Codificación de compresión usada por las marks; como las marks son lo bastante pequeñas y están en caché, la compresión predeterminada es ZSTD(3).

<div id="materialize_skip_indexes_on_merge">
  ## materialize\_skip\_indexes\_on\_merge
</div>

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

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

Si esta opción está habilitada, las fusiones crean y almacenan índices de omisión para las partes nuevas.
De lo contrario, pueden crearse o almacenarse mediante [MATERIALIZE INDEX](/es/reference/statements/alter/skipping-index#materialize-index)
o [durante los INSERTs](/es/reference/settings/session-settings#materialize_skip_indexes_on_insert).

Véase también [exclude\_materialize\_skip\_indexes\_on\_merge](#exclude_materialize_skip_indexes_on_merge) para un control más preciso.

<div id="materialize_statistics_on_merge">
  ## materialize\_statistics\_on\_merge
</div>

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

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

Si está habilitada, las fusiones generarán y almacenarán estadísticas para las nuevas partes.
De lo contrario, pueden crearse/almacenarse mediante [MATERIALIZE STATISTICS](/es/reference/statements/alter/statistics)
o [durante los INSERTs](/es/reference/settings/session-settings#materialize_statistics_on_insert)

<div id="materialize_ttl_recalculate_only">
  ## materialize\_ttl\_recalculate\_only
</div>

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

Recalcula la información de TTL solo al ejecutar MATERIALIZE TTL

<div id="max_avg_part_size_for_too_many_parts">
  ## max\_avg\_part\_size\_for\_too\_many\_parts
</div>

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

La comprobación de 'too many parts' según 'parts\_to\_delay\_insert' y
'parts\_to\_throw\_insert' solo estará activa si el tamaño medio de las partes (en la
partición correspondiente) no supera el umbral especificado. Si lo supera,
los INSERTs no se retrasarán ni se rechazarán. Esto permite tener cientos de
terabytes en una sola tabla en un único servidor si las partes se fusionan
correctamente en partes más grandes. Esto no afecta a los umbrales de las
partes inactivas ni al número total de partes.

<div id="max_buckets_in_map">
  ## max\_buckets\_in\_map
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "32"},{"label": "Añade una configuración para controlar el número máximo de buckets en la serialización `Map` `with_buckets`"}]}]} />

El número máximo de buckets para la serialización `Map`. Se aplica a la serialización `Map` `with_buckets`.
El número real de buckets lo determina [map\_buckets\_strategy](#map_buckets_strategy).
El valor máximo permitido es 256.

<div id="max_bytes_to_merge_at_max_space_in_pool">
  ## max\_bytes\_to\_merge\_at\_max\_space\_in\_pool
</div>

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

El tamaño total máximo de las partes (en bytes) que se fusionarán en una sola parte, si hay
suficientes recursos disponibles. Corresponde aproximadamente al tamaño máximo posible de la
parte creada por una fusión automática en segundo plano. (0 significa que las fusiones se desactivarán)

Valores posibles:

* Cualquier entero no negativo.

El planificador de fusiones analiza periódicamente los tamaños y la cantidad de partes en las
particiones y, si hay suficientes recursos libres en el pool, inicia fusiones en segundo plano.
Las fusiones continúan hasta que el tamaño total de las partes de origen es
mayor que `max_bytes_to_merge_at_max_space_in_pool`.

Las fusiones iniciadas por [OPTIMIZE FINAL](/es/reference/statements/optimize)
ignoran `max_bytes_to_merge_at_max_space_in_pool` (solo se tiene en cuenta el espacio libre en disco).

<div id="max_bytes_to_merge_at_min_space_in_pool">
  ## max\_bytes\_to\_merge\_at\_min\_space\_in\_pool
</div>

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

El tamaño total máximo de las partes (en bytes) que se fusionarán en una sola parte, con los
recursos mínimos disponibles en el background pool.

Valores posibles:

* Cualquier entero positivo.

`max_bytes_to_merge_at_min_space_in_pool` define el tamaño total máximo de las
partes que pueden fusionarse a pesar de la falta de espacio disponible en disco (en el pool).
Esto es necesario para reducir el número de partes pequeñas y la probabilidad de
errores `Too many parts`.
Las fusiones reservan espacio en disco duplicando el tamaño total de las partes fusionadas.
Por lo tanto, con una cantidad reducida de espacio libre en disco, puede darse una situación en la que
haya espacio libre, pero ese espacio ya esté reservado por grandes fusiones en curso,
por lo que otras fusiones no pueden iniciarse y el número de partes pequeñas aumenta
con cada inserción.

<div id="max_cleanup_delay_period">
  ## max\_cleanup\_delay\_period
</div>

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

Período máximo para limpiar los logs antiguos de la cola, los hash de bloques y las partes.

<div id="max_compress_block_size">
  ## max\_compress\_block\_size
</div>

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

El tamaño máximo de los bloques de datos no comprimidos antes de comprimirlos para escribirlos
en una tabla. También puede especificar esta configuración en la configuración global
(consulte la configuración [max\_compress\_block\_size](/es/reference/settings/merge-tree-settings#max_compress_block_size)
). El valor especificado al crear la tabla sobrescribe el valor global
de esta configuración.

<div id="max_concurrent_queries">
  ## max\_concurrent\_queries
</div>

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

Número máximo de consultas ejecutadas de forma simultánea relacionadas con la tabla MergeTree.
Las consultas seguirán estando limitadas por otras opciones de configuración de `max_concurrent_queries`.

Valores posibles:

* Entero positivo.
* `0` — Sin límite.

Valor predeterminado: `0` (sin límite).

**Ejemplo**

```xml theme={null}
<max_concurrent_queries>50</max_concurrent_queries>
```

<div id="max_delay_to_insert">
  ## max\_delay\_to\_insert
</div>

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

Valor en segundos que se utiliza para calcular el retraso de `INSERT` si el
número de partes activas en una sola partición supera el
valor de [parts\_to\_delay\_insert](#parts_to_delay_insert).

Valores posibles:

* Cualquier entero positivo.

El retraso (en milisegundos) de `INSERT` se calcula con la fórmula:

```code theme={null}
max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)
```

Por ejemplo, si una partición tiene 299 partes activas y parts\_to\_throw\_insert
\= 300, parts\_to\_delay\_insert = 150, max\_delay\_to\_insert = 1, `INSERT` se
retrasa `pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000`
milisegundos.

A partir de la versión 23.1, la fórmula se ha cambiado a:

```code theme={null}
allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)
```

Por ejemplo, si una partición tiene 224 partes activas y parts\_to\_throw\_insert
\= 300, parts\_to\_delay\_insert = 150, max\_delay\_to\_insert = 1,
min\_delay\_to\_insert\_ms = 10, `INSERT` se retrasa `max( 10, 1 * 1000 *
(224 - 150 + 1) / (300 - 150) ) = 500` milisegundos.

<div id="max_delay_to_mutate_ms">
  ## max\_delay\_to\_mutate\_ms
</div>

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

Retraso máximo para mutar una tabla MergeTree en milisegundos, si hay muchas
mutaciones sin finalizar

<div id="max_digestion_size_per_segment">
  ## max\_digestion\_size\_per\_segment
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "268435456"},{"label": "Configuración obsoleta"}]}]} />

Configuración obsoleta; no tiene ningún efecto.

<div id="max_file_name_length">
  ## max\_file\_name\_length
</div>

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

La longitud máxima del nombre de archivo para conservarlo tal cual, sin aplicar un hash.
Solo surte efecto si la opción `replace_long_file_name_to_hash` está habilitada.
El valor de esta opción no incluye la longitud de la extensión del archivo. Por lo tanto,
se recomienda configurarlo por debajo de la longitud máxima del nombre de archivo (normalmente, 255
bytes), dejando cierto margen para evitar errores del sistema de archivos.

<div id="max_files_to_modify_in_alter_columns">
  ## max\_files\_to\_modify\_in\_alter\_columns
</div>

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

No aplique ALTER si el número de archivos que se van a modificar (eliminar o agregar)
es mayor que este ajuste.

Valores posibles:

* Cualquier entero positivo.

Valor predeterminado: 75

<div id="max_files_to_remove_in_alter_columns">
  ## max\_files\_to\_remove\_in\_alter\_columns
</div>

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

No se aplica ALTER si el número de archivos que se van a eliminar es mayor que esta
configuración.

Valores posibles:

* Cualquier entero positivo.

<div id="max_merge_delayed_streams_for_parallel_write">
  ## max\_merge\_delayed\_streams\_for\_parallel\_write
</div>

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

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

El número máximo de flujos (columnas) que se pueden vaciar en paralelo
(equivalente a max\_insert\_delayed\_streams\_for\_parallel\_write para las fusiones). Funciona
solo para fusiones verticales.

<div id="max_merge_selecting_sleep_ms">
  ## max\_merge\_selecting\_sleep\_ms
</div>

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

Tiempo máximo de espera antes de volver a intentar seleccionar partes para fusionarlas después de que no se haya
seleccionado ninguna. Un valor menor hará que las tareas de selección en
background\_schedule\_pool se activen con frecuencia, lo que genera una gran cantidad de
solicitudes a ZooKeeper en clústeres a gran escala

<div id="max_number_of_merges_with_ttl_in_pool">
  ## max\_number\_of\_merges\_with\_ttl\_in\_pool
</div>

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

Cuando hay
más fusiones con entradas TTL en el pool de las especificadas, no se asignan
nuevas fusiones con TTL. Esto deja hilos libres para las fusiones normales y
evita "Too many parts"

<div id="max_number_of_mutations_for_replica">
  ## max\_number\_of\_mutations\_for\_replica
</div>

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

Limita el número de mutaciones de partes por réplica al valor especificado.
Cero significa que no hay límite en el número de mutaciones por réplica (la ejecución
puede seguir estando limitada por otros ajustes).

<div id="max_part_loading_threads">
  ## max\_part\_loading\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="'auto(14)'" />

Configuración obsoleta; no tiene ningún efecto.

<div id="max_part_removal_threads">
  ## max\_part\_removal\_threads
</div>

<SettingsInfoBlock type="MaxThreads" default_value="'auto(14)'" />

Configuración obsoleta; no tiene ningún efecto.

<div id="max_partitions_to_read">
  ## max\_partitions\_to\_read
</div>

<SettingsInfoBlock type="Int64" default_value="-1" />

Limita el número máximo de particiones a las que se puede acceder en una consulta.

El valor de la configuración especificado al crear la tabla puede sobrescribirse con
una configuración a nivel de consulta.

Valores posibles:

* Cualquier entero positivo.

También puede especificar la configuración de complejidad de consulta [max\_partitions\_to\_read](/es/reference/settings/session-settings#max_partitions_to_read)
a nivel de consulta / sesión / perfil.

<div id="max_parts_in_total">
  ## max\_parts\_in\_total
</div>

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

Si el número total de partes activas en todas las particiones de una tabla supera el
valor de `max_parts_in_total`, la operación `INSERT` se interrumpe con la excepción `Too many parts
(N)`.

Valores posibles:

* Cualquier entero positivo.

Un gran número de partes en una tabla reduce el rendimiento de las consultas de ClickHouse
y aumenta el tiempo de inicio de ClickHouse. La mayoría de las veces, esto es consecuencia de un
diseño incorrecto (errores al elegir una estrategia de particionamiento: particiones demasiado pequeñas).

<div id="max_parts_to_merge_at_once">
  ## max\_parts\_to\_merge\_at\_once
</div>

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

Cantidad máxima de partes que pueden fusionarse a la vez (0: deshabilitado). No afecta a la
consulta OPTIMIZE FINAL.

<div id="max_postpone_time_for_failed_mutations_ms">
  ## max\_postpone\_time\_for\_failed\_mutations\_ms
</div>

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

El tiempo máximo de aplazamiento de las mutaciones fallidas.

<div id="max_postpone_time_for_failed_replicated_fetches_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_fetches\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "60000"},{"label": "Se añadió una nueva configuración para permitir posponer las tareas de fetch en la cola de replicación."}]}]} />

El tiempo máximo de aplazamiento para los fetches replicados fallidos.

<div id="max_postpone_time_for_failed_replicated_merges_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_merges\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "60000"},{"label": "Se agregó una nueva configuración para permitir posponer las tareas de fusión en la cola de replicación."}]}]} />

El tiempo máximo de aplazamiento para las fusiones replicadas fallidas.

<div id="max_postpone_time_for_failed_replicated_tasks_ms">
  ## max\_postpone\_time\_for\_failed\_replicated\_tasks\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "300000"},{"label": "Se añadió una nueva configuración que permite posponer tareas en la cola de replicación."}]}]} />

El tiempo máximo durante el que se pospone una tarea replicada fallida. Este valor se usa si la tarea no es de tipo fetch, merge o mutation.

<div id="max_projections">
  ## max\_projections
</div>

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

El número máximo de proyecciones de MergeTree.

<div id="max_replicated_fetches_network_bandwidth">
  ## max\_replicated\_fetches\_network\_bandwidth
</div>

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

Limita la velocidad máxima del intercambio de datos por la red, en bytes por
segundo, para las descargas [replicadas](/es/reference/engines/table-engines/mergetree-family/replication).
Esta configuración se aplica a una tabla concreta, a diferencia de la
configuración [`max_replicated_fetches_network_bandwidth_for_server`](/es/reference/settings/merge-tree-settings#max_replicated_fetches_network_bandwidth),
que se aplica al servidor.

Puede limitar tanto la red del servidor como la de una tabla concreta, pero para
ello el valor de la configuración a nivel de tabla debe ser inferior al de
nivel de servidor. De lo contrario, el servidor solo tiene en cuenta la
configuración `max_replicated_fetches_network_bandwidth_for_server`.

La configuración no se aplica con total precisión.

Valores posibles:

* Entero positivo.
* `0` — Ilimitado.

Valor predeterminado: `0`.

**Uso**

Puede usarse para limitar la velocidad al replicar datos para añadir o sustituir
nuevos nodos.

<div id="max_replicated_logs_to_keep">
  ## max\_replicated\_logs\_to\_keep
</div>

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

Cuántos registros puede haber en el log de ClickHouse Keeper si hay una
réplica inactiva. Una réplica inactiva se considera perdida cuando se supera este número.

Valores posibles:

* Cualquier entero positivo.

<div id="max_replicated_merges_in_queue">
  ## max\_replicated\_merges\_in\_queue
</div>

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

Cuántas tareas de fusión y mutación de partes se permiten simultáneamente en la
cola de ReplicatedMergeTree.

<div id="max_replicated_merges_with_ttl_in_queue">
  ## max\_replicated\_merges\_with\_ttl\_in\_queue
</div>

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

Número de tareas de fusión de partes con TTL que se permiten simultáneamente en la
cola de ReplicatedMergeTree.

<div id="max_replicated_mutations_in_queue">
  ## max\_replicated\_mutations\_in\_queue
</div>

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

Cuántas tareas sobre partes en mutación se permiten simultáneamente en la
cola de ReplicatedMergeTree.

<div id="max_replicated_sends_network_bandwidth">
  ## max\_replicated\_sends\_network\_bandwidth
</div>

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

Limita la velocidad máxima de intercambio de datos por la red, en bytes por
segundo, para los envíos [replicados](/es/reference/engines/table-engines/mergetree-family/replacingmergetree).
Esta configuración se aplica a una tabla concreta, a diferencia de la
configuración
[`max_replicated_sends_network_bandwidth_for_server`](/es/reference/settings/merge-tree-settings#max_replicated_sends_network_bandwidth),
que se aplica al servidor.

Puede limitar tanto el ancho de banda de red del servidor como el de una tabla concreta, pero
para ello el valor de la configuración a nivel de tabla debe ser menor que
el de la configuración a nivel de servidor. De lo contrario, el servidor solo tiene en cuenta la
configuración `max_replicated_sends_network_bandwidth_for_server`.

La configuración no se aplica con total precisión.

Valores posibles:

* Entero positivo.
* `0` — Ilimitado.

**Uso**

Puede usarse para limitar la velocidad al replicar datos para añadir o sustituir
nuevos nodos.

<div id="max_suspicious_broken_parts">
  ## max\_suspicious\_broken\_parts
</div>

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

Si el número de partes dañadas en una misma partición supera el valor de
`max_suspicious_broken_parts`, no se permite la eliminación automática.

Valores posibles:

* Cualquier entero positivo.

<div id="max_suspicious_broken_parts_bytes">
  ## max\_suspicious\_broken\_parts\_bytes
</div>

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

Tamaño máximo total de todas las partes dañadas; si se supera, se impide la eliminación automática.

Valores posibles:

* Cualquier entero positivo.

<div id="max_uncompressed_bytes_in_patches">
  ## max\_uncompressed\_bytes\_in\_patches
</div>

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

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

El tamaño máximo sin comprimir, en bytes, de los datos de todas las partes de parche.
Si la cantidad de datos en todas las partes de parche supera este valor, se rechazarán las actualizaciones ligeras.
0 - ilimitado.

<div id="merge_max_block_size">
  ## merge\_max\_block\_size
</div>

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

El número de filas que se leen de las partes fusionadas y se cargan en memoria.

Valores posibles:

* Cualquier entero positivo.

La fusión lee filas de las partes en bloques de `merge_max_block_size` filas y, a continuación,
fusiona y escribe el resultado en una parte nueva. El bloque leído se coloca en RAM,
por lo que `merge_max_block_size` afecta a la cantidad de RAM necesaria para la fusión.
Por lo tanto, las fusiones pueden consumir una gran cantidad de RAM en tablas con filas muy anchas
(si el tamaño medio de una fila es de 100kb, entonces, al fusionar 10 partes,
(100kb \* 10 \* 8192) = \~ 8GB de RAM). Al reducir `merge_max_block_size`,
puede reducir la cantidad de RAM necesaria para una fusión, pero también ralentizarla.

<div id="merge_max_block_size_bytes">
  ## merge\_max\_block\_size\_bytes
</div>

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

Cuántos bytes deben formarse en bloques para las operaciones de fusión. De forma predeterminada,
tiene el mismo valor que `index_granularity_bytes`.

<div id="merge_max_bytes_to_prewarm_cache">
  ## merge\_max\_bytes\_to\_prewarm\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1073741824"},{"label": "Cloud sync"}]}]} />

Solo disponible en ClickHouse Cloud. Tamaño máximo de una parte (compact o packed)
para precalentar la caché durante la fusión.

<div id="merge_max_dynamic_subcolumns_in_compact_part">
  ## merge\_max\_dynamic\_subcolumns\_in\_compact\_part
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.1"},{"label": "auto"},{"label": "Se añade una nueva configuración para limitar el número de subcolumnas dinámicas en una parte Compact tras la fusión, independientemente de los parámetros especificados en el tipo de dato"}]}]} />

El número máximo de subcolumnas dinámicas que se pueden crear en cada columna de la parte de datos Compact tras la fusión.
Permite controlar el número de subcolumnas dinámicas en una parte Compact, independientemente de los parámetros dinámicos especificados en el tipo de dato.

Por ejemplo, si la tabla tiene una columna con el tipo JSON(max\_dynamic\_paths=1024) y la configuración merge\_max\_dynamic\_subcolumns\_in\_compact\_part está establecida en 128,
tras la fusión en la parte de datos Compact, el número de rutas dinámicas se reducirá a 128 en esta parte y solo se escribirán 128 rutas como subcolumnas dinámicas.

<div id="merge_max_dynamic_subcolumns_in_wide_part">
  ## merge\_max\_dynamic\_subcolumns\_in\_wide\_part
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "auto"},{"label": "Añade un nuevo ajuste para limitar el número de subcolumnas dinámicas en una parte Wide después de la fusión, independientemente de los parámetros especificados en el tipo de dato"}]}]} />

El número máximo de subcolumnas dinámicas que se pueden crear en cada columna de una parte de datos Wide después de la fusión.
Permite reducir el número de archivos creados en una parte de datos Wide, independientemente de los parámetros dinámicos especificados en el tipo de dato.

Por ejemplo, si la tabla tiene una columna con el tipo JSON(max\_dynamic\_paths=1024) y el ajuste merge\_max\_dynamic\_subcolumns\_in\_wide\_part está establecido en 128,
después de la fusión en la parte de datos Wide, el número de rutas dinámicas se reducirá a 128 en esa parte y solo se escribirán 128 rutas como subcolumnas dinámicas.

<div id="merge_selecting_sleep_ms">
  ## merge\_selecting\_sleep\_ms
</div>

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

Tiempo mínimo de espera antes de volver a intentar seleccionar partes para fusionar cuando no se haya seleccionado ninguna
parte. Un valor más bajo activará con frecuencia las tareas de selección en
background\_schedule\_pool, lo que genera una gran cantidad de solicitudes
a ZooKeeper en clusters a gran escala

<div id="merge_selecting_sleep_slowdown_factor">
  ## merge\_selecting\_sleep\_slowdown\_factor
</div>

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

El tiempo de espera de la tarea de selección de fusiones se multiplica por este factor cuando
no hay nada que fusionar y se divide cuando se asigna una fusión

<div id="merge_selector_algorithm">
  ## merge\_selector\_algorithm
</div>

<SettingsInfoBlock type="MergeSelectorAlgorithm" default_value="Simple" />

El algoritmo para seleccionar partes para la asignación de fusiones

<div id="merge_selector_base">
  ## merge\_selector\_base
</div>

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

Afecta a la amplificación de escritura de las
fusiones asignadas (configuración de nivel experto; no la cambie si no entiende
lo que hace). Funciona con los selectores de fusiones Simple y StochasticSimple

<div id="merge_selector_blurry_base_scale_factor">
  ## merge\_selector\_blurry\_base\_scale\_factor
</div>

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

Controla cuándo se activa esta lógica en relación con el número de partes de la
partición. Cuanto mayor sea el factor, más se retrasará la reacción.

<div id="merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once">
  ## merge\_selector\_enable\_heuristic\_to\_lower\_max\_parts\_to\_merge\_at\_once
</div>

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

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

Habilita una heurística para el selector simple de fusiones que reducirá el límite máximo para la selección de fusiones.
Al hacerlo, aumentará el número de fusiones concurrentes, lo que puede ayudar con los errores
TOO\_MANY\_PARTS, pero al mismo tiempo incrementará la amplificación de escritura.

<div id="merge_selector_enable_heuristic_to_remove_small_parts_at_right">
  ## merge\_selector\_enable\_heuristic\_to\_remove\_small\_parts\_at\_right
</div>

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

Habilita una heurística para seleccionar partes para la fusión que elimina las partes del lado derecho
del rango si su tamaño es inferior a la proporción especificada (0.01) de sum\_size.
Funciona con los selectores de fusiones Simple y StochasticSimple

<div id="merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent">
  ## merge\_selector\_heuristic\_to\_lower\_max\_parts\_to\_merge\_at\_once\_exponent
</div>

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

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

Controla el valor del exponente utilizado en las fórmulas que construyen la curva de reducción. Reducir el exponente
disminuirá la amplitud de las fusiones, lo que provocará un aumento de la amplificación de escritura. Lo contrario también es cierto.

<div id="merge_selector_window_size">
  ## merge\_selector\_window\_size
</div>

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

Cuántas partes se examinan a la vez.

<div id="merge_total_max_bytes_to_prewarm_cache">
  ## merge\_total\_max\_bytes\_to\_prewarm\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "16106127360"},{"label": "Cloud sync"}]}]} />

Solo disponible en ClickHouse Cloud. Tamaño máximo total de las partes que se usarán para precalentar la
caché durante la fusión.

<div id="merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds">
  ## merge\_tree\_clear\_old\_broken\_detached\_parts\_ttl\_timeout\_seconds
</div>

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

Configuración obsoleta; no hace nada.

<div id="merge_tree_clear_old_parts_interval_seconds">
  ## merge\_tree\_clear\_old\_parts\_interval\_seconds
</div>

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

Establece el intervalo, en segundos, para que ClickHouse ejecute la limpieza de
partes, WAL y mutaciones antiguas.

Valores posibles:

* Cualquier entero positivo.

<div id="merge_tree_clear_old_temporary_directories_interval_seconds">
  ## merge\_tree\_clear\_old\_temporary\_directories\_interval\_seconds
</div>

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

Establece el intervalo, en segundos, para que ClickHouse ejecute la limpieza de
directorios temporales antiguos.

Valores posibles:

* Cualquier número entero positivo.

<div id="merge_tree_enable_clear_old_broken_detached">
  ## merge\_tree\_enable\_clear\_old\_broken\_detached
</div>

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

Configuración obsoleta; no hace nada.

<div id="merge_with_recompression_ttl_timeout">
  ## merge\_with\_recompression\_ttl\_timeout
</div>

<SettingsInfoBlock type="Int64" default_value="14400" />

Retraso mínimo, en segundos, antes de repetir una fusión con TTL de recompresión.

<div id="merge_with_ttl_timeout">
  ## merge\_with\_ttl\_timeout
</div>

<SettingsInfoBlock type="Int64" default_value="14400" />

Retraso mínimo en segundos antes de repetir una fusión con TTL de eliminación.

<div id="merge_workload">
  ## merge\_workload
</div>

Se utiliza para regular cómo se usan y comparten los recursos entre las fusiones y
otras cargas de trabajo. El valor especificado se usa como valor de la configuración `workload` para las
fusiones en segundo plano de esta tabla. Si no se especifica (cadena vacía), se utiliza
en su lugar la configuración del servidor `merge_workload`.

**Véase también**

* [Planificación de cargas de trabajo](/es/concepts/features/configuration/server-config/workload-scheduling)

<div id="min_absolute_delay_to_close">
  ## min\_absolute\_delay\_to\_close
</div>

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

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

<div id="min_age_to_force_merge_on_partition_only">
  ## min\_age\_to\_force\_merge\_on\_partition\_only
</div>

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

Indica si `min_age_to_force_merge_seconds` debe aplicarse solo a la
partición completa y no a un subconjunto.

De forma predeterminada, ignora la configuración `max_bytes_to_merge_at_max_space_in_pool` (consulte
`enable_max_bytes_limit_for_min_age_to_force_merge`).

Valores posibles:

* true, false

<div id="min_age_to_force_merge_seconds">
  ## min\_age\_to\_force\_merge\_seconds
</div>

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

Fusiona las partes si todas las partes del intervalo son más antiguas que el valor de
`min_age_to_force_merge_seconds`.

De forma predeterminada, ignora la configuración `max_bytes_to_merge_at_max_space_in_pool`
(consulte `enable_max_bytes_limit_for_min_age_to_force_merge`).

Valores posibles:

* Entero positivo.

<div id="min_bytes_for_compact_part">
  ## min\_bytes\_for\_compact\_part
</div>

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

Configuración obsoleta; no hace nada.

<div id="min_bytes_for_full_part_storage">
  ## min\_bytes\_for\_full\_part\_storage
</div>

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

Solo disponible en ClickHouse Cloud. Tamaño mínimo sin comprimir, en bytes, para
usar el tipo de almacenamiento full para la data part en lugar de packed

<div id="min_bytes_for_wide_part">
  ## min\_bytes\_for\_wide\_part
</div>

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

Número mínimo de bytes/filas en una parte de datos que puede almacenarse en formato `Wide`. Puede establecer uno, ambos o ninguno de estos ajustes.

<div id="min_bytes_to_prewarm_caches">
  ## min\_bytes\_to\_prewarm\_caches
</div>

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

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

Tamaño mínimo (en bytes sin comprimir) para precalentar la caché de marcas y la caché del índice primario
para las nuevas partes

<div id="min_bytes_to_rebalance_partition_over_jbod">
  ## min\_bytes\_to\_rebalance\_partition\_over\_jbod
</div>

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

Establece la cantidad mínima de bytes necesaria para habilitar el equilibrio al distribuir nuevas
partes grandes entre los discos del volumen [JBOD](https://en.wikipedia.org/wiki/Non-RAID_drive_architectures).

Valores posibles:

* Entero positivo.
* `0` — El equilibrio está deshabilitado.

**Uso**

El valor de la configuración `min_bytes_to_rebalance_partition_over_jbod` no debe
ser inferior al valor de
[max\_bytes\_to\_merge\_at\_max\_space\_in\_pool](/es/reference/settings/merge-tree-settings#max_bytes_to_merge_at_max_space_in_pool)
/ 1024. De lo contrario, ClickHouse genera una excepción.

<div id="min_columns_to_activate_adaptive_write_buffer">
  ## min\_columns\_to\_activate\_adaptive\_write\_buffer
</div>

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

Valores posibles:

* 0 - ilimitado
* 1 - siempre habilitado

<div id="min_compress_block_size">
  ## min\_compress\_block\_size
</div>

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

Tamaño mínimo de los bloques de datos sin comprimir necesario para aplicar 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_compress_block_size)).
El valor especificado al crear la tabla sobrescribe el valor global
de esta configuración.

<div id="min_compressed_bytes_to_fsync_after_fetch">
  ## min\_compressed\_bytes\_to\_fsync\_after\_fetch
</div>

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

Número mínimo de bytes comprimidos para realizar `fsync` en la parte tras recuperarla (0: deshabilitado)

<div id="min_compressed_bytes_to_fsync_after_merge">
  ## min\_compressed\_bytes\_to\_fsync\_after\_merge
</div>

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

Número mínimo de bytes comprimidos para ejecutar fsync en la parte tras la fusión (0: deshabilitado)

<div id="min_delay_to_insert_ms">
  ## min\_delay\_to\_insert\_ms
</div>

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

Retraso mínimo para insertar datos en una tabla MergeTree, en milisegundos, si hay
muchas partes sin fusionar en una sola partición.

<div id="min_delay_to_mutate_ms">
  ## min\_delay\_to\_mutate\_ms
</div>

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

Retraso mínimo para aplicar mutaciones a una tabla MergeTree en milisegundos, si hay muchas
mutaciones sin finalizar

<div id="min_free_disk_bytes_to_perform_insert">
  ## min\_free\_disk\_bytes\_to\_perform\_insert
</div>

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

El número mínimo de bytes que deben estar libres en el disco para poder
insertar datos. Si el número de bytes libres disponibles es menor que
`min_free_disk_bytes_to_perform_insert`, se genera una excepción y la
inserción no se ejecuta. Tenga en cuenta que este ajuste:

* tiene en cuenta el ajuste `keep_free_space_bytes`.
* no tiene en cuenta la cantidad de datos que se escribirán mediante la
  operación `INSERT`.
* solo se comprueba si se especifica un número positivo (distinto de cero) de bytes

Valores posibles:

* Cualquier entero positivo.

<Note>
  Si se especifican tanto `min_free_disk_bytes_to_perform_insert` como `min_free_disk_ratio_to_perform_insert`,
  ClickHouse tomará el valor que permita realizar
  inserts con una mayor cantidad de espacio libre.
</Note>

<div id="min_free_disk_ratio_to_perform_insert">
  ## min\_free\_disk\_ratio\_to\_perform\_insert
</div>

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

La proporción mínima de espacio libre con respecto al espacio total en disco para realizar un `INSERT`. Debe ser un
valor de coma flotante entre 0 y 1. Tenga en cuenta que este ajuste:

* tiene en cuenta el ajuste `keep_free_space_bytes`.
* no tiene en cuenta la cantidad de datos que se escribirán mediante la
  operación `INSERT`.
* solo se comprueba si se especifica una proporción positiva (distinta de cero)

Valores posibles:

* Float, 0.0 - 1.0

Tenga en cuenta que, si se especifican tanto `min_free_disk_ratio_to_perform_insert` como
`min_free_disk_bytes_to_perform_insert`, ClickHouse se basará
en el valor que permita realizar inserciones con una mayor cantidad de
espacio libre en disco.

<div id="min_index_granularity_bytes">
  ## min\_index\_granularity\_bytes
</div>

<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 la creación accidental de tablas con un valor muy bajo de
`index_granularity_bytes`.

<div id="min_level_for_full_part_storage">
  ## min\_level\_for\_full\_part\_storage
</div>

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

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

Solo disponible en ClickHouse Cloud. Nivel mínimo de la parte para
usar el tipo de almacenamiento completo para la parte de datos en lugar de empaquetado

<div id="min_level_for_wide_part">
  ## min\_level\_for\_wide\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "Nueva opción"}]}]} />

Nivel mínimo de la parte para crear una parte de datos en formato `Wide` en lugar de `Compact`.

<div id="min_marks_to_honor_max_concurrent_queries">
  ## min\_marks\_to\_honor\_max\_concurrent\_queries
</div>

<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](#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>
```

<div id="min_merge_bytes_to_use_direct_io">
  ## min\_merge\_bytes\_to\_use\_direct\_io
</div>

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

El volumen mínimo de datos de una operación de fusión necesario para usar
acceso de E/S directa al disco de almacenamiento. Al fusionar partes de datos, ClickHouse calcula
el volumen total de almacenamiento de todos los datos que se van a fusionar. Si el volumen supera
`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 desactiva.

<div id="min_parts_to_merge_at_once">
  ## min\_parts\_to\_merge\_at\_once
</div>

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

Cantidad mínima de partes de datos que el selector de fusiones puede seleccionar para fusionar de una sola vez
(configuración para expertos; no la cambie si no entiende qué hace).
0: deshabilitado. Funciona con los selectores de fusiones Simple y StochasticSimple.

<div id="min_relative_delay_to_close">
  ## min\_relative\_delay\_to\_close
</div>

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

Retraso mínimo con respecto a otras réplicas para cerrarse, dejar de atender
solicitudes y no devolver Ok durante la comprobación de estado.

<div id="min_relative_delay_to_measure">
  ## min\_relative\_delay\_to\_measure
</div>

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

Calcula el retraso relativo de la réplica solo si el retraso absoluto no es inferior a
este valor.

<div id="min_relative_delay_to_yield_leadership">
  ## min\_relative\_delay\_to\_yield\_leadership
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="min_replicated_logs_to_keep">
  ## min\_replicated\_logs\_to\_keep
</div>

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

Mantiene aproximadamente este número de los últimos registros en el log de ZooKeeper, aunque estén
obsoletos. No afecta al funcionamiento de las tablas: se usa solo para diagnosticar el
log de ZooKeeper antes de la limpieza.

Valores posibles:

* Cualquier entero positivo.

<div id="min_rows_for_compact_part">
  ## min\_rows\_for\_compact\_part
</div>

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

Configuración obsoleta; no tiene efecto.

<div id="min_rows_for_full_part_storage">
  ## min\_rows\_for\_full\_part\_storage
</div>

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

Solo disponible en ClickHouse Cloud. Número mínimo de filas para usar el tipo de almacenamiento completo
para la parte de datos en lugar del almacenamiento empaquetado

<div id="min_rows_for_wide_part">
  ## min\_rows\_for\_wide\_part
</div>

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

Número mínimo de filas para crear una parte de datos en formato `Wide` en vez de `Compact`.

<div id="min_rows_to_fsync_after_merge">
  ## min\_rows\_to\_fsync\_after\_merge
</div>

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

Número mínimo de filas para ejecutar fsync en la parte tras la fusión (0: deshabilitado)

<div id="mutation_workload">
  ## mutation\_workload
</div>

Se utiliza para regular cómo se utilizan y comparten los recursos entre las mutaciones y
otras cargas de trabajo. El valor especificado se usa como valor de la configuración `workload` para las
mutaciones en segundo plano de esta tabla. Si no se especifica (cadena vacía),
se usa en su lugar la configuración del servidor `mutation_workload`.

**Véase también**

* [Planificación de cargas de trabajo](/es/concepts/features/configuration/server-config/workload-scheduling)

<div id="non_replicated_deduplication_window">
  ## non\_replicated\_deduplication\_window
</div>

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

El número de bloques insertados más recientemente en la tabla
[MergeTree](/es/reference/engines/table-engines/mergetree-family/mergetree) no replicada
cuyas sumas de hash se almacenan para comprobar si hay duplicados.

Posibles valores:

* Cualquier entero positivo.
* `0` (desactiva la deduplicación).

Se utiliza un mecanismo de deduplicación similar al de las tablas replicadas (consulte la
configuración [replicated\_deduplication\_window](#replicated_deduplication_window)).
Las sumas de hash de las partes creadas se escriben en un archivo local en disco.

<div id="notify_newest_block_number">
  ## notify\_newest\_block\_number
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Cloud sync"}]}]} />

Notifica el número del bloque más reciente a SharedJoin o SharedSet. Solo en ClickHouse Cloud.

<div id="nullable_serialization_version">
  ## nullable\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeNullableSerializationVersion" default_value="basic" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.12"},{"label": "basic"},{"label": "Nueva opción de configuración"}]}]} />

Controla el método de serialización que se usa para las columnas `Nullable(T)`.

Valores posibles:

* basic — Usa la serialización estándar para `Nullable(T)`.

* allow\_sparse — Permite que `Nullable(T)` use codificación dispersa.

<div id="number_of_free_entries_in_pool_to_execute_mutation">
  ## number\_of\_free\_entries\_in\_pool\_to\_execute\_mutation
</div>

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

Cuando el número de entradas libres en el pool es inferior al especificado, no
ejecute mutaciones de partes. Esto permite dejar hilos libres para las fusiones normales y
evitar errores de "Too many parts".

Valores posibles:

* Cualquier entero positivo.

**Uso**

El valor de la configuración `number_of_free_entries_in_pool_to_execute_mutation`
debe ser menor que el valor de [background\_pool\_size](/es/reference/settings/server-settings/settings#background_pool_size)

* [background\_merges\_mutations\_concurrency\_ratio](/es/reference/settings/server-settings/settings#background_merges_mutations_concurrency_ratio).
  De lo contrario, ClickHouse lanzará una excepción.

<div id="number_of_free_entries_in_pool_to_execute_optimize_entire_partition">
  ## number\_of\_free\_entries\_in\_pool\_to\_execute\_optimize\_entire\_partition
</div>

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

Cuando hay menos entradas libres en el pool que el número especificado, no
ejecute la optimización de la partición completa en segundo plano (esta tarea se genera
cuando se establece `min_age_to_force_merge_seconds` y se habilita
`min_age_to_force_merge_on_partition_only`). Esto permite dejar hilos libres
para las fusiones normales y evitar "Too many parts".

Valores posibles:

* Entero positivo.

El valor de la configuración `number_of_free_entries_in_pool_to_execute_optimize_entire_partition`
debe ser menor que el valor de
[background\_pool\_size](/es/reference/settings/server-settings/settings#background_pool_size)

* [background\_merges\_mutations\_concurrency\_ratio](/es/reference/settings/server-settings/settings#background_merges_mutations_concurrency_ratio).
  De lo contrario, ClickHouse genera una excepción.

<div id="number_of_free_entries_in_pool_to_lower_max_size_of_merge">
  ## number\_of\_free\_entries\_in\_pool\_to\_lower\_max\_size\_of\_merge
</div>

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

Cuando haya menos del número especificado de entradas libres en el pool
(o en la cola replicada), se comenzará a reducir el tamaño máximo de la fusión que se va a procesar
(o a poner en la cola).
Esto permite procesar fusiones pequeñas, sin llenar el pool con fusiones
de larga duración.

Valores posibles:

* Cualquier entero positivo.

<div id="number_of_mutations_to_delay">
  ## number\_of\_mutations\_to\_delay
</div>

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

Si la tabla tiene al menos
esa cantidad de mutaciones sin finalizar, ralentiza artificialmente las mutaciones de la tabla.
Se deshabilita si se establece en 0

<div id="number_of_mutations_to_throw">
  ## number\_of\_mutations\_to\_throw
</div>

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

Si la tabla tiene al menos esa cantidad de mutaciones sin finalizar, genera la excepción 'Too many mutations'
. Se desactiva si se establece en 0

<div id="number_of_partitions_to_consider_for_merge">
  ## number\_of\_partitions\_to\_consider\_for\_merge
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Cloud sync"}]}]} />

Solo disponible en ClickHouse Cloud. Como máximo, las N particiones principales que se
tendrán en cuenta para la fusión. Las particiones se eligen de forma aleatoria y ponderada, donde el peso
es la cantidad de partes de datos que pueden fusionarse en esa partición.

<div id="object_serialization_version">
  ## object\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeObjectSerializationVersion" default_value="v3" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "v2"},{"label": "Añadir una opción para controlar las versiones de serialización de JSON"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "v3"},{"label": "Habilitar de forma predeterminada la versión de serialización v3 para JSON a fin de usar la serialización avanzada de datos compartidos"}]}]} />

Versión de serialización para el tipo de datos JSON. Necesaria para la compatibilidad.

Posibles valores:

* `v1`
* `v2`
* `v3`

Solo la versión `v3` permite cambiar la versión de serialización de los datos compartidos.

<div id="object_shared_data_buckets_for_compact_part">
  ## object\_shared\_data\_buckets\_for\_compact\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "8"},{"label": "Añade una configuración para controlar el número de buckets para los datos compartidos en la serialización JSON en partes compactas"}]}]} />

El número de buckets para la serialización de datos compartidos en JSON en partes compactas. Funciona con las serializaciones de datos compartidos `map_with_buckets` y `advanced`.
El valor máximo permitido es 256.

<div id="object_shared_data_buckets_for_wide_part">
  ## object\_shared\_data\_buckets\_for\_wide\_part
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "32"},{"label": "Añade un ajuste para controlar el número de buckets para los datos compartidos en la serialización JSON en partes Wide"}]}]} />

Número de buckets para la serialización de datos compartidos en JSON en partes Wide. Funciona con las serializaciones de datos compartidos `map_with_buckets` y `advanced`.
El valor máximo permitido es 256.

<div id="object_shared_data_serialization_version">
  ## object\_shared\_data\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="advanced" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "Añade un ajuste para controlar las versiones de serialización de JSON"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "advanced"},{"label": "Habilita de forma predeterminada la versión avanzada de serialización de datos compartidos"}]}]} />

Versión de serialización de los datos compartidos dentro del tipo de datos JSON.

Valores posibles:

* `map` - almacena los datos compartidos como `Map(String, String)`
* `map_with_buckets` - almacena los datos compartidos como varias columnas `Map(String, String)` separadas. El uso de buckets mejora la lectura de rutas individuales a partir de los datos compartidos.
* `advanced` - serialización especial de datos compartidos diseñada para mejorar significativamente la lectura de rutas individuales a partir de los datos compartidos.
  Ten en cuenta que esta serialización aumenta el tamaño de almacenamiento en disco de los datos compartidos porque almacenamos mucha información adicional.

El número de buckets para las serializaciones `map_with_buckets` y `advanced` se determina mediante los ajustes
[object\_shared\_data\_buckets\_for\_compact\_part](#object_shared_data_buckets_for_compact_part)/[object\_shared\_data\_buckets\_for\_wide\_part](#object_shared_data_buckets_for_wide_part).

<div id="object_shared_data_serialization_version_for_zero_level_parts">
  ## object\_shared\_data\_serialization\_version\_for\_zero\_level\_parts
</div>

<SettingsInfoBlock type="MergeTreeObjectSharedDataSerializationVersion" default_value="map_with_buckets" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "map"},{"label": "Se añade una configuración para controlar las versiones de serialización de JSON para las partes de nivel cero"}]}, {"id": "row-2","items": [{"label": "25.12"},{"label": "map_with_buckets"},{"label": "Se habilita de forma predeterminada la versión de serialización de datos compartidos map_with_buckets para las partes de nivel cero"}]}]} />

Esta configuración permite especificar una versión de serialización distinta para los
datos compartidos dentro del tipo JSON en las partes de nivel cero que se crean durante las inserciones.
Se recomienda no usar la serialización de datos compartidos `advanced` para las partes de nivel cero, ya que puede aumentar
significativamente el tiempo de inserción.

<div id="old_parts_lifetime">
  ## old\_parts\_lifetime
</div>

<SettingsInfoBlock type="Segundos" default_value="480" />

Tiempo de almacenamiento (en segundos) de las partes inactivas para proteger contra la pérdida de datos
durante reinicios inesperados del servidor.

Valores posibles:

* Cualquier entero positivo.

Después de fusionar varias partes en una nueva, ClickHouse marca las partes originales
como inactivas y las elimina solo después de `old_parts_lifetime` segundos.
Las partes inactivas se eliminan si no están siendo utilizadas por las consultas actuales, es decir, si
el `refcount` de la parte es 1.

No se llama a `fsync` para las partes nuevas, por lo que durante algún tiempo las partes nuevas existen solo
en la RAM del servidor (caché del SO). Si el servidor se reinicia inesperadamente, las partes nuevas
pueden perderse o dañarse. Para proteger los datos, las partes inactivas no se eliminan
de inmediato.

Durante el inicio, ClickHouse comprueba la integridad de las partes. Si la
parte fusionada está dañada, ClickHouse devuelve las partes inactivas a la lista de partes activas
y, más tarde, vuelve a fusionarlas. Luego, la parte dañada se renombra (se añade el
prefijo `broken_`) y se mueve a la carpeta `detached`. Si la parte fusionada no
está dañada, entonces las partes inactivas originales se renombran (se añade el prefijo
`ignored_`) y se mueven a la carpeta `detached`.

El valor predeterminado de `dirty_expire_centisecs` (una configuración del kernel de Linux) es de 30
segundos (el tiempo máximo durante el cual los datos escritos se almacenan solo en RAM), pero con
cargas elevadas en el sistema de disco, los datos pueden escribirse mucho más tarde. Experimentalmente,
se eligió un valor de 480 segundos para `old_parts_lifetime`, durante el cual se
garantiza que una parte nueva se escribirá en disco.

<div id="optimize_row_order">
  ## optimize\_row\_order
</div>

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

Controla si el orden de las filas debe optimizarse durante las inserciones para mejorar la
compresibilidad de la parte de tabla recién insertada.

Solo tiene efecto en tablas ordinarias del motor MergeTree. No hace nada en
tablas especializadas del motor MergeTree (p. ej., CollapsingMergeTree).

Las tablas MergeTree se comprimen (opcionalmente) usando [códecs de compresión](/es/reference/statements/create/table#column_compression_codec).
Los códecs de compresión genéricos, como LZ4 y ZSTD, alcanzan tasas máximas de compresión
si los datos presentan patrones. Las secuencias largas del mismo valor normalmente
se comprimen muy bien.

Si esta configuración está habilitada, ClickHouse intenta almacenar los datos en las
partes recién insertadas en un orden de filas que minimice el número de secuencias de valores iguales
a lo largo de las columnas de la nueva parte de tabla.
En otras palabras, un número reducido de secuencias de valores iguales significa que las secuencias individuales
son largas y se comprimen bien.

Encontrar el orden óptimo de las filas es computacionalmente inviable (NP-hard).
Por lo tanto, ClickHouse usa una heurística para encontrar rápidamente un orden de filas que
aun así mejore las tasas de compresión con respecto al orden original de las filas.

<details markdown="1">
  <summary>Heurística para encontrar un orden de filas</summary>

  En general, es posible reordenar libremente las filas de una tabla (o parte de tabla),
  ya que SQL considera equivalente la misma tabla (parte de tabla) con un orden de filas diferente.

  Esta libertad para reordenar filas se restringe cuando se define una clave primaria
  para la tabla. En ClickHouse, una clave primaria `C1, C2, ..., CN` impone que
  las filas de la tabla estén ordenadas por las columnas `C1`, `C2`, ... `Cn` ([índice agrupado](https://en.wikipedia.org/wiki/Database_index#Clustered)).
  Como resultado, las filas solo pueden reordenarse dentro de "clases de equivalencia" de filas,
  es decir, filas que tienen los mismos valores en sus columnas de clave primaria.
  La idea es que las claves primarias con alta cardinalidad, por ejemplo, claves primarias
  que incluyen una columna timestamp `DateTime64`, dan lugar a muchas clases de equivalencia
  pequeñas. Del mismo modo, las tablas con una clave primaria de baja cardinalidad crean pocas
  clases de equivalencia, pero grandes. Una tabla sin clave primaria representa el caso extremo
  de una única clase de equivalencia que abarca todas las filas.

  Cuanto menos numerosas y más grandes sean las clases de equivalencia, mayor será el grado
  de libertad al reordenar filas.

  La heurística aplicada para encontrar el mejor orden de filas dentro de cada clase de equivalencia
  es la sugerida por D. Lemire y O. Kaser en
  [Reordering columns for smaller indexes](https://doi.org/10.1016/j.ins.2011.02.002)
  y se basa en ordenar las filas dentro de cada clase de equivalencia por cardinalidad
  ascendente de las columnas que no forman parte de la clave primaria.

  Consta de tres pasos:

  1. Encontrar todas las clases de equivalencia basadas en los valores de las filas en las columnas de clave primaria.
  2. Para cada clase de equivalencia, calcular (normalmente estimar) las cardinalidades
     de las columnas que no forman parte de la clave primaria.
  3. Para cada clase de equivalencia, ordenar las filas en orden ascendente de
     cardinalidad de las columnas que no forman parte de la clave primaria.
</details>

Si está habilitada, las operaciones de inserción incurren en costos adicionales de CPU para analizar y
optimizar el orden de las filas de los nuevos datos. Se espera que los INSERT tarden entre un 30 y un 50 %
más, según las características de los datos.
Las tasas de compresión de LZ4 o ZSTD mejoran en promedio entre un 20 y un 40 %.

Esta configuración funciona mejor en tablas sin clave primaria o con una clave primaria de baja cardinalidad,
es decir, una tabla con solo unos pocos valores distintos de clave primaria.
No se espera que las claves primarias de alta cardinalidad, por ejemplo, las que incluyen columnas timestamp de tipo
`DateTime64`, se beneficien de esta configuración.

<div id="part_minmax_index_columns">
  ## part\_minmax\_index\_columns
</div>

<SettingsInfoBlock type="MergeTreePartMinMaxIndexColumns" default_value="partition_key_only" />

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

Selecciona qué columnas cubre el índice min-max de cada parte. Cada valor habilita un grupo adicional de columnas sobre el anterior.

Posibles valores:

* `partition_key_only` — solo se registran las columnas de la clave de partición.
* `with_block_number_offset` — columnas de la clave de partición, además de las columnas virtuales persistidas `_block_number` y `_block_offset`. Habilita la poda a nivel de parte mediante estas columnas.

<div id="part_moves_between_shards_delay_seconds">
  ## part\_moves\_between\_shards\_delay\_seconds
</div>

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

Tiempo de espera antes y después de mover partes entre segmentos.

<div id="part_moves_between_shards_enable">
  ## part\_moves\_between\_shards\_enable
</div>

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

Funcionalidad experimental/incompleta para mover partes entre segmentos. No tiene
en cuenta las expresiones de sharding.

<div id="parts_to_delay_insert">
  ## parts\_to\_delay\_insert
</div>

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

Si el número de partes activas en una sola partición supera el valor de
`parts_to_delay_insert`, una operación `INSERT` se ralentiza artificialmente.

Valores posibles:

* Cualquier entero positivo.

ClickHouse hace que `INSERT` tarde más en ejecutarse de forma artificial (añade "sleep") para que el
proceso de fusión en segundo plano pueda fusionar las partes más rápido de lo que se añaden.

<div id="parts_to_throw_insert">
  ## parts\_to\_throw\_insert
</div>

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

Si el número de partes activas en una única partición supera el valor de
`parts_to_throw_insert`, `INSERT` se interrumpe con la excepción `Too many
parts (N). Merges are processing significantly slower than inserts`.

Valores posibles:

* Cualquier entero positivo.

Para lograr el máximo rendimiento de las consultas `SELECT`, es necesario
minimizar el número de partes procesadas; consulte [Merge Tree](/es/resources/develop-contribute/introduction/architecture#merge-tree).

Antes de la versión 23.6, esta configuración estaba establecida en 300. Puede establecer un valor
más alto; esto reducirá la probabilidad del error `Too many parts`, pero al
mismo tiempo el rendimiento de `SELECT` podría verse afectado. Además, en caso
de que haya un problema con las fusiones (por ejemplo, por falta de espacio en
disco), lo notará más tarde que con el valor original de 300.

<div id="prefer_fetch_merged_part_size_threshold">
  ## prefer\_fetch\_merged\_part\_size\_threshold
</div>

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

Si la suma de los tamaños de las partes supera este umbral y el tiempo transcurrido desde la
creación de una entrada en el registro de replicación es mayor que
`prefer_fetch_merged_part_time_threshold`, se prioriza obtener la parte fusionada
desde una réplica en lugar de realizar la fusión localmente. Esto acelera las
fusiones muy largas.

Valores posibles:

* Cualquier entero positivo.

<div id="prefer_fetch_merged_part_time_threshold">
  ## prefer\_fetch\_merged\_part\_time\_threshold
</div>

<SettingsInfoBlock type="Segundos" default_value="3600" />

Si el tiempo transcurrido desde la creación de una entrada en el registro de replicación (ClickHouse Keeper o ZooKeeper)
supera este umbral y la suma del tamaño de las partes es
mayor que `prefer_fetch_merged_part_size_threshold`, se prefiere obtener la
parte fusionada desde una réplica en lugar de realizar la fusión localmente. Esto sirve para acelerar
fusiones muy largas.

Valores posibles:

* Cualquier entero positivo.

<div id="prewarm_mark_cache">
  ## prewarm\_mark\_cache
</div>

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

Si es true, la caché de marcas se
precalentará guardando marks en la caché de marcas durante inserts, merges, fetches y
al iniciar el servidor

<div id="prewarm_primary_key_cache">
  ## prewarm\_primary\_key\_cache
</div>

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

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

Si se establece en true, la caché del índice primario
se precargará guardando marcas en la caché de marcas durante las inserciones, las fusiones,
los fetches y al iniciar el servidor

<div id="primary_key_compress_block_size">
  ## primary\_key\_compress\_block\_size
</div>

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

Tamaño del bloque de compresión de la clave primaria; es el tamaño real del bloque que se va a comprimir.

<div id="primary_key_compression_codec">
  ## primary\_key\_compression\_codec
</div>

<SettingsInfoBlock type="String" default_value="ZSTD(3)" />

La codificación de compresión utilizada por la clave primaria; la clave primaria es lo suficientemente pequeña y está en caché,
por lo que la compresión predeterminada es ZSTD(3).

<div id="primary_key_lazy_load">
  ## primary\_key\_lazy\_load
</div>

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

Carga la clave primaria en memoria en el
primer uso en lugar de hacerlo durante la inicialización de la tabla. Esto puede ahorrar memoria cuando hay
una gran cantidad de tablas.

<div id="primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns">
  ## primary\_key\_ratio\_of\_unique\_prefix\_values\_to\_skip\_suffix\_columns
</div>

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

Si el valor de una columna de la clave primaria en una parte de datos cambia al menos con esta frecuencia, se omite la carga en memoria de las siguientes columnas. Esto permite ahorrar memoria al no cargar columnas inútiles de la clave primaria.

<div id="propagate_types_serialization_versions_to_nested_types">
  ## propagate\_types\_serialization\_versions\_to\_nested\_types
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Propagar la versión de serialización de los tipos de datos a los tipos anidados de forma predeterminada"}]}]} />

Si es true, las versiones de serialización como string\_serialization\_version se propagarán a los tipos anidados como Array/Map/Nullable/JSON/etc. Si está deshabilitado, la versión de serialización solo surtirá efecto en las columnas de nivel superior de este tipo y Tuple el

<div id="ratio_of_defaults_for_sparse_serialization">
  ## ratio\_of\_defaults\_for\_sparse\_serialization
</div>

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

Proporción mínima entre la cantidad de valores *por defecto* y la cantidad total de valores
en una columna. Al establecer este valor, la columna se almacena usando serializaciones
dispersas.

Si una columna es dispersa (contiene principalmente ceros), ClickHouse puede codificarla en
un formato disperso y optimizar automáticamente los cálculos; los datos no
requieren una descompresión completa durante las consultas. Para habilitar esta serialización
dispersa, defina la configuración `ratio_of_defaults_for_sparse_serialization`
con un valor inferior a 1.0. Si el valor es mayor o igual que 1.0,
las columnas siempre se escribirán usando la serialización completa normal.

Valores posibles:

* Float entre `0` y `1` para habilitar la serialización dispersa
* `1.0` (o mayor) si no desea usar la serialización dispersa

**Ejemplo**

Observe que la columna `s` de la siguiente tabla es una cadena vacía en el 95 % de
las filas. En `my_regular_table` no usamos serialización dispersa, y en
`my_sparse_table` establecemos `ratio_of_defaults_for_sparse_serialization` en
0.95:

```sql theme={null}
CREATE TABLE my_regular_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_regular_table
SELECT
number AS id,
number % 20 = 0 ? toString(number): '' AS s
FROM
numbers(10000000);

CREATE TABLE my_sparse_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id
SETTINGS ratio_of_defaults_for_sparse_serialization = 0.95;

INSERT INTO my_sparse_table
SELECT
number,
number % 20 = 0 ? toString(number): ''
FROM
numbers(10000000);
```

Observe que la columna `s` de `my_sparse_table` ocupa menos espacio en disco:

```sql theme={null}
SELECT table, name, data_compressed_bytes, data_uncompressed_bytes FROM system.columns
WHERE table LIKE 'my_%_table';
```

```response theme={null}
┌─table────────────┬─name─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┐
│ my_regular_table │ id   │              37790741 │                75488328 │
│ my_regular_table │ s    │               2451377 │                12683106 │
│ my_sparse_table  │ id   │              37790741 │                75488328 │
│ my_sparse_table  │ s    │               2283454 │                 9855751 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘
```

Puede verificar si una columna usa la codificación dispersa consultando la
columna `serialization_kind` de la tabla `system.parts_columns`:

```sql theme={null}
SELECT column, serialization_kind FROM system.parts_columns
WHERE table LIKE 'my_sparse_table';
```

Puedes ver qué partes de `s` se almacenaron mediante la serialización dispersa:

```response theme={null}
┌─column─┬─serialization_kind─┐
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
└────────┴────────────────────┘
```

<div id="reduce_blocking_parts_sleep_ms">
  ## reduce\_blocking\_parts\_sleep\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "5000"},{"label": "Cloud sync"}]}]} />

Solo disponible en ClickHouse Cloud. Tiempo mínimo de espera antes de intentar
reducir de nuevo las partes bloqueantes después de que no se haya descartado ni sustituido ningún rango. Un valor más bajo
activará tareas en background\_schedule\_pool con frecuencia, lo que
da como resultado una gran cantidad de solicitudes a ZooKeeper en clústeres a gran escala

<div id="refresh_parts_interval">
  ## refresh\_parts\_interval
</div>

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

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

Si es mayor que cero, actualiza la lista de partes de datos desde el sistema de archivos subyacente para comprobar si los datos se han actualizado internamente.
Solo se puede establecer si la tabla está ubicada en discos de solo lectura (lo que significa que se trata de una réplica de solo lectura, mientras que otra réplica está escribiendo los datos).

<div id="refresh_statistics_interval">
  ## refresh\_statistics\_interval
</div>

<SettingsInfoBlock type="Segundos" default_value="300" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "300"},{"label": "Habilita la caché de estadísticas"}]}, {"id": "row-2","items": [{"label": "25.11"},{"label": "0"},{"label": "Nueva configuración"}]}]} />

Intervalo de actualización de la caché de estadísticas, en segundos. Si se establece en cero, se deshabilita la actualización.

<div id="remote_fs_execute_merges_on_single_replica_time_threshold">
  ## remote\_fs\_execute\_merges\_on\_single\_replica\_time\_threshold
</div>

<SettingsInfoBlock type="Seconds" default_value="10800" />

Cuando esta configuración tiene un valor mayor que cero, solo una réplica inicia
la fusión inmediatamente si la parte fusionada está en el almacenamiento compartido.

<Note>
  La replicación zero-copy no está lista para producción.
  La replicación zero-copy está deshabilitada de forma predeterminada en la versión 22.8 de ClickHouse y
  posteriores.

  Esta funcionalidad no se recomienda para su uso en producción.
</Note>

Valores posibles:

* Cualquier entero positivo.

<div id="remote_fs_zero_copy_path_compatible_mode">
  ## remote\_fs\_zero\_copy\_path\_compatible\_mode
</div>

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

Ejecuta zero-copy en modo de compatibilidad durante el proceso de conversión.

<div id="remote_fs_zero_copy_zookeeper_path">
  ## remote\_fs\_zero\_copy\_zookeeper\_path
</div>

<SettingsInfoBlock type="String" default_value="/clickhouse/zero_copy" />

Ruta de ZooKeeper para la información de zero-copy independiente de la tabla.

<div id="remove_empty_parts">
  ## remove\_empty\_parts
</div>

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

Elimina las partes vacías después de que TTL, una mutación o el algoritmo de fusión por collapsing las hayan depurado.

<div id="remove_rolled_back_parts_immediately">
  ## remove\_rolled\_back\_parts\_immediately
</div>

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

Ajuste para una funcionalidad experimental incompleta.

<div id="remove_unused_patch_parts">
  ## remove\_unused\_patch\_parts
</div>

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

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

Elimina en segundo plano las patch parts aplicadas a todas las partes activas.

<div id="replace_long_file_name_to_hash">
  ## replace\_long\_file\_name\_to\_hash
</div>

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

Si el nombre de archivo de la columna es demasiado largo (más de 'max\_file\_name\_length'
bytes), sustitúyalo por SipHash128

<div id="replicated_can_become_leader">
  ## replicated\_can\_become\_leader
</div>

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

Si es `true`, las réplicas de las tablas replicadas en este nodo intentarán asumir
el liderazgo.

Valores posibles:

* `true`
* `false`

<div id="replicated_deduplication_window">
  ## replicated\_deduplication\_window
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "10000"},{"label": "aumento del valor predeterminado"}]}]} />

La cantidad de bloques insertados más recientemente para los cuales ClickHouse Keeper almacena
sumas hash para comprobar duplicados.

Posibles valores:

* Cualquier entero positivo.
* 0 (desactiva la deduplicación)

El comando `Insert` crea uno o más bloques (partes). Para la
[deduplicación de inserciones](/es/reference/engines/table-engines/mergetree-family/replication),
al escribir en tablas replicadas, ClickHouse escribe las sumas hash de las
partes creadas en ClickHouse Keeper. Las sumas hash se almacenan solo para los
`replicated_deduplication_window` bloques más recientes. Las sumas hash más antiguas se
eliminan de ClickHouse Keeper.

Un valor alto para `replicated_deduplication_window` ralentiza los `Inserts`
porque hay que comparar más entradas. La suma hash se calcula a partir
de la combinación de los nombres y tipos de los campos y de los datos de la parte
insertada (flujo de bytes).

<div id="replicated_deduplication_window_for_async_inserts">
  ## replicated\_deduplication\_window\_for\_async\_inserts
</div>

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

El número de bloques insertados de forma asíncrona más recientemente para los que ClickHouse Keeper
almacena sumas hash con el fin de comprobar duplicados.

Valores posibles:

* Cualquier entero positivo.
* 0 (desactiva la deduplicación para async\_inserts)

El comando [Async Insert](/es/reference/settings/session-settings#async_insert) se
almacena en caché en uno o más bloques (partes). Para la [deduplicación de inserciones](/es/reference/engines/table-engines/mergetree-family/replication),
al escribir en tablas replicadas, ClickHouse escribe las sumas hash de cada
inserción en ClickHouse Keeper. Las sumas hash se almacenan solo para los
`replicated_deduplication_window_for_async_inserts` bloques más recientes. Las sumas hash
más antiguas se eliminan de ClickHouse Keeper.
Un valor grande de `replicated_deduplication_window_for_async_inserts` ralentiza
`Async Inserts` porque necesita comparar más entradas.
La suma hash se calcula a partir de la combinación de los nombres y tipos de los campos
y de los datos de la inserción (flujo de bytes).

<div id="replicated_deduplication_window_seconds">
  ## replicated\_deduplication\_window\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "3600"},{"label": "reducir el valor predeterminado"}]}]} />

El número de segundos tras los cuales se eliminan de ClickHouse Keeper las sumas hash de los bloques insertados.

Posibles valores:

* Cualquier entero positivo.

Al igual que [replicated\_deduplication\_window](#replicated_deduplication_window),
`replicated_deduplication_window_seconds` especifica durante cuánto tiempo se almacenan las sumas hash
de los bloques para la deduplicación de inserciones. Las sumas hash anteriores a
`replicated_deduplication_window_seconds` se eliminan de ClickHouse Keeper,
incluso si son menores que ` replicated_deduplication_window`.

El tiempo es relativo al momento del registro más reciente, no al tiempo del
reloj. Si es el único registro, se almacenará para siempre.

<div id="replicated_deduplication_window_seconds_for_async_inserts">
  ## replicated\_deduplication\_window\_seconds\_for\_async\_inserts
</div>

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

El número de segundos tras los cuales las sumas hash de los async inserts se
eliminan de ClickHouse Keeper.

Valores posibles:

* Cualquier entero positivo.

Al igual que [replicated\_deduplication\_window\_for\_async\_inserts](#replicated_deduplication_window_for_async_inserts),
`replicated_deduplication_window_seconds_for_async_inserts` especifica durante
cuánto tiempo se almacenan las sumas hash de los bloques para la deduplicación
de async insert. Las sumas hash con una antigüedad superior a
`replicated_deduplication_window_seconds_for_async_inserts` se eliminan de
ClickHouse Keeper, incluso si son inferiores a
`replicated_deduplication_window_for_async_inserts`.

El tiempo se calcula en relación con el momento del registro más reciente, no
con el tiempo del reloj del sistema. Si es el único registro, se almacenará
para siempre.

<div id="replicated_fetches_http_connection_timeout">
  ## replicated\_fetches\_http\_connection\_timeout
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="replicated_fetches_http_receive_timeout">
  ## replicated\_fetches\_http\_receive\_timeout
</div>

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

Configuración obsoleta, no tiene ningún efecto.

<div id="replicated_fetches_http_send_timeout">
  ## replicated\_fetches\_http\_send\_timeout
</div>

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

Configuración obsoleta; no tiene efecto.

<div id="replicated_fetches_min_part_level">
  ## replicated\_fetches\_min\_part\_level
</div>

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

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

Nivel mínimo de las partes que se deben obtener de otras réplicas. Las partes con un nivel inferior a este umbral se posponen
(se mantienen en la cola de replicación y se vuelven a evaluar en cada ciclo de planificación; no se omiten de forma permanente).
Use 1 para posponer la obtención de partes de nivel 0 (sin fusionar), lo que reduce la sobrecarga de replicación durante una ingestión intensa.
Valor predeterminado: 0 (obtener todas las partes independientemente del nivel).

<div id="replicated_fetches_min_part_level_timeout_seconds">
  ## replicated\_fetches\_min\_part\_level\_timeout\_seconds
</div>

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

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

Tiempo de espera, en segundos, tras el cual una parte por debajo de replicated\_fetches\_min\_part\_level se recuperará de todos modos.
Use 0 para desactivar el tiempo de espera (las partes por debajo del nivel mínimo se posponen indefinidamente hasta que se fusionen).
Predeterminado: 300 (forzar la recuperación después de 5 minutos).

<div id="replicated_max_mutations_in_one_entry">
  ## replicated\_max\_mutations\_in\_one\_entry
</div>

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

Número máximo de comandos de mutación que pueden fusionarse y ejecutarse en
una sola entrada MUTATE\_PART (0 significa sin límite)

<div id="replicated_max_parallel_fetches">
  ## replicated\_max\_parallel\_fetches
</div>

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

Configuración obsoleta; no tiene efecto.

<div id="replicated_max_parallel_fetches_for_host">
  ## replicated\_max\_parallel\_fetches\_for\_host
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="replicated_max_parallel_fetches_for_table">
  ## replicated\_max\_parallel\_fetches\_for\_table
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="replicated_max_parallel_sends">
  ## replicated\_max\_parallel\_sends
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="replicated_max_parallel_sends_for_table">
  ## replicated\_max\_parallel\_sends\_for\_table
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="replicated_max_ratio_of_wrong_parts">
  ## replicated\_max\_ratio\_of\_wrong\_parts
</div>

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

Si la proporción de partes incorrectas respecto del número total de partes es inferior a este valor,
se permite el inicio.

Valores posibles:

* Float, 0.0 - 1.0

<div id="search_orphaned_parts_disks">
  ## search\_orphaned\_parts\_disks
</div>

<SettingsInfoBlock type="SearchOrphanedPartsDisks" default_value="any" />

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

ClickHouse examina todos los discos en busca de partes huérfanas al ejecutar cualquier ATTACH o CREATE de tabla,
para evitar que se omitan partes de datos en discos no definidos (no incluidos en la política).
Las partes huérfanas se originan por una reconfiguración del almacenamiento potencialmente insegura; por ejemplo, si un disco se excluyó de la política de almacenamiento.
Esta configuración limita el alcance de la búsqueda de discos según sus características.

Valores posibles:

* any - el alcance no está limitado.
* local - el alcance se limita a los discos locales.
* none - alcance vacío, no buscar

<div id="serialization_info_version">
  ## serialization\_info\_version
</div>

<SettingsInfoBlock type="MergeTreeSerializationInfoVersion" default_value="with_types" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "with_types"},{"label": "Cambio al formato más reciente que permite la serialización personalizada de cadenas"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "basic"},{"label": "Nueva configuración"}]}]} />

Versión de la información de serialización utilizada al escribir `serialization.json`.
Esta configuración es necesaria para mantener la compatibilidad durante las actualizaciones del clúster.

Valores posibles:

* `basic` - Formato básico.
* `with_types` - Formato con el campo adicional `types_serialization_versions`, que permite versiones de serialización por tipo.
  Esto hace que configuraciones como `string_serialization_version` surtan efecto.

Durante las actualizaciones graduales, establece esto en `basic` para que los servidores nuevos produzcan
partes de datos compatibles con los servidores antiguos. Una vez completada la actualización,
cambia a `WITH_TYPES` para habilitar las versiones de serialización por tipo.

<div id="share_nested_offsets">
  ## share\_nested\_offsets
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1"},{"label": "Cuando se establece en false, las columnas Array con nombres con puntos que comparten un prefijo común se tratan como columnas independientes en lugar de compartir archivos de offsets como parte de la semántica heredada de Nested"}]}]} />

Cuando está habilitada (valor predeterminado), las columnas Array con nombres con puntos que comparten un prefijo común (p. ej., n.a y n.b)
se tratan como parte de una estructura Nested: comparten un único archivo de offsets en disco (p. ej., n.size0),
y se valida durante INSERT que sus tamaños de array sean iguales.
Cuando está deshabilitada, cada columna Array obtiene su propio archivo de offsets independiente, los nombres con puntos no tienen
ninguna semántica especial y una columna escalar puede coexistir con columnas Array con puntos que compartan el mismo prefijo
(p. ej., n UInt32 junto con n.a Array(String)). Esta configuración es inmutable después de crear la tabla.

<div id="shared_merge_tree_activate_coordinated_merges_tasks">
  ## shared\_merge\_tree\_activate\_coordinated\_merges\_tasks
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "0"},{"label": "Nueva configuración"}]}, {"id": "row-2","items": [{"label": "25.8"},{"label": "0"},{"label": "Nueva configuración"}]}, {"id": "row-3","items": [{"label": "25.7"},{"label": "0"},{"label": "Nueva configuración"}]}, {"id": "row-4","items": [{"label": "25.6"},{"label": "0"},{"label": "Nueva configuración"}]}, {"id": "row-5","items": [{"label": "25.10"},{"label": "0"},{"label": "Nueva configuración"}]}]} />

Activa la reprogramación de tareas de fusiones coordinadas. Puede ser útil incluso cuando
shared\_merge\_tree\_enable\_coordinated\_merges=0, porque esto rellenará las estadísticas del coordinador de fusiones
y ayudará con el arranque en frío.

<div id="shared_merge_tree_create_per_replica_metadata_nodes">
  ## shared\_merge\_tree\_create\_per\_replica\_metadata\_nodes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "0"},{"label": "Reduce la cantidad de metadatos en Keeper."}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "1"},{"label": "Sincronización en Cloud"}]}]} />

Habilita la creación de nodos /metadata y /columns para cada réplica en ZooKeeper.
Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_disable_merges_and_mutations_assignment">
  ## shared\_merge\_tree\_disable\_merges\_and\_mutations\_assignment
</div>

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

Detiene la asignación de merges y mutations en shared merge tree. Solo está disponible en ClickHouse
Cloud

<div id="shared_merge_tree_empty_partition_lifetime">
  ## shared\_merge\_tree\_empty\_partition\_lifetime
</div>

<SettingsInfoBlock type="Segundos" default_value="86400" />

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

Cuántos segundos se almacenará la partición en Keeper si no tiene partes.

<div id="shared_merge_tree_enable_automatic_empty_partitions_cleanup">
  ## shared\_merge\_tree\_enable\_automatic\_empty\_partitions\_cleanup
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "1"},{"label": "Habilitado de forma predeterminada"}]}, {"id": "row-2","items": [{"label": "25.9"},{"label": "0"},{"label": "Nueva configuración"}]}]} />

Habilita la limpieza de las entradas de Keeper de las particiones vacías.

<div id="shared_merge_tree_enable_coordinated_merges">
  ## shared\_merge\_tree\_enable\_coordinated\_merges
</div>

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

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

Habilita la estrategia de fusiones coordinadas

<div id="shared_merge_tree_enable_keeper_parts_extra_data">
  ## shared\_merge\_tree\_enable\_keeper\_parts\_extra\_data
</div>

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

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

Habilita la escritura de atributos en las partes virtuales y la confirmación de bloques en Keeper

<div id="shared_merge_tree_enable_outdated_parts_check">
  ## shared\_merge\_tree\_enable\_outdated\_parts\_check
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Sincronización en Cloud"}]}]} />

Habilita la comprobación de partes obsoletas. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_idle_parts_update_seconds">
  ## shared\_merge\_tree\_idle\_parts\_update\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "3600"},{"label": "Sincronización en Cloud"}]}]} />

Intervalo en segundos para actualizar las partes sin que lo active un watch de ZooKeeper en el shared merge tree. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_initial_parts_update_backoff_ms">
  ## shared\_merge\_tree\_initial\_parts\_update\_backoff\_ms
</div>

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

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

Backoff inicial para la actualización de partes. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_interserver_http_connection_timeout_ms">
  ## shared\_merge\_tree\_interserver\_http\_connection\_timeout\_ms
</div>

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

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

Tiempos de espera para las conexiones HTTP entre servidores. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_interserver_http_timeout_ms">
  ## shared\_merge\_tree\_interserver\_http\_timeout\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10000"},{"label": "Sincronización en Cloud"}]}]} />

Tiempos de espera para la comunicación HTTP entre servidores. Solo disponible en ClickHouse
Cloud

<div id="shared_merge_tree_leader_update_period_random_add_seconds">
  ## shared\_merge\_tree\_leader\_update\_period\_random\_add\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Sincronización en Cloud"}]}]} />

Añade a shared\_merge\_tree\_leader\_update\_period un valor distribuido
uniformemente entre 0 y x segundos para evitar el efecto de
estampida. Solo está disponible en ClickHouse Cloud

<div id="shared_merge_tree_leader_update_period_seconds">
  ## shared\_merge\_tree\_leader\_update\_period\_seconds
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "30"},{"label": "Sincronización en Cloud"}]}]} />

Período máximo para volver a comprobar el liderazgo de la actualización de partes. Solo disponible en
ClickHouse Cloud

<div id="shared_merge_tree_max_outdated_parts_to_process_at_once">
  ## shared\_merge\_tree\_max\_outdated\_parts\_to\_process\_at\_once
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000"},{"label": "Sincronización en Cloud"}]}]} />

Cantidad máxima de partes obsoletas cuya eliminación el líder intentará confirmar en una sola solicitud HTTP. Solo disponible en ClickHouse Cloud.

<div id="shared_merge_tree_max_parts_update_backoff_ms">
  ## shared\_merge\_tree\_max\_parts\_update\_backoff\_ms
</div>

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

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

Tiempo máximo de backoff para la actualización de partes. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_max_parts_update_leaders_in_total">
  ## shared\_merge\_tree\_max\_parts\_update\_leaders\_in\_total
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "6"},{"label": "Sincronización en Cloud"}]}]} />

Número máximo total de líderes de actualización de partes. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_max_parts_update_leaders_per_az">
  ## shared\_merge\_tree\_max\_parts\_update\_leaders\_per\_az
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "2"},{"label": "Sincronización en Cloud"}]}]} />

Número máximo de líderes de actualización de partes. Solo está disponible en ClickHouse Cloud

<div id="shared_merge_tree_max_replicas_for_parts_deletion">
  ## shared\_merge\_tree\_max\_replicas\_for\_parts\_deletion
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Sincronización en Cloud"}]}]} />

Número máximo de réplicas que participarán en la eliminación de partes (hilo killer). Solo
disponible en ClickHouse Cloud

<div id="shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range">
  ## shared\_merge\_tree\_max\_replicas\_to\_merge\_parts\_for\_each\_parts\_range
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "5"},{"label": "Sincronización en Cloud"}]}]} />

Número máximo de réplicas que intentarán asignar fusiones potencialmente conflictivas (permite
evitar conflictos redundantes en la asignación de fusiones). 0 significa que está deshabilitado. Solo
disponible en ClickHouse Cloud

<div id="shared_merge_tree_max_suspicious_broken_parts">
  ## shared\_merge\_tree\_max\_suspicious\_broken\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "Número máximo de partes dañadas para SMT; si hay más, se deniega el detach automático"}]}]} />

Número máximo de partes dañadas para SMT; si hay más, se deniega el detach automático.

<div id="shared_merge_tree_max_suspicious_broken_parts_bytes">
  ## shared\_merge\_tree\_max\_suspicious\_broken\_parts\_bytes
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.2"},{"label": "0"},{"label": "Tamaño máximo de todas las partes dañadas para SMT; si se supera, se impide el detach automático"}]}]} />

Tamaño máximo de todas las partes dañadas para SMT; si se supera, se impide el detach automático.

<div id="shared_merge_tree_memo_ids_remove_timeout_seconds">
  ## shared\_merge\_tree\_memo\_ids\_remove\_timeout\_seconds
</div>

<SettingsInfoBlock type="Int64" default_value="1800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1800"},{"label": "Sincronización en Cloud"}]}]} />

Cuánto tiempo almacenamos los ID de memoización de inserción para evitar acciones incorrectas durante
los reintentos de inserción. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_merge_coordinator_election_check_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_election\_check\_period\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="30000" />

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

Intervalo entre ejecuciones del hilo de elección del coordinador de fusiones

<div id="shared_merge_tree_merge_coordinator_factor">
  ## shared\_merge\_tree\_merge\_coordinator\_factor
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.5"},{"label": "1.100000023841858"},{"label": "Nueva configuración"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "1.100000023841858"},{"label": "Menor tiempo de espera del coordinador tras la carga"}]}]} />

Factor de ajuste del tiempo de retraso del hilo del coordinador

<div id="shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_fetch\_fresh\_metadata\_period\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="10000" />

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

Frecuencia con la que el coordinador de fusiones debe sincronizarse con ZooKeeper para obtener metadatos actualizados

<div id="shared_merge_tree_merge_coordinator_max_merge_request_size">
  ## shared\_merge\_tree\_merge\_coordinator\_max\_merge\_request\_size
</div>

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

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

Número de fusiones que el coordinador puede solicitar a MergerMutator a la vez

<div id="shared_merge_tree_merge_coordinator_max_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_max\_period\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="10000" />

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

Tiempo máximo entre ejecuciones del hilo del coordinador de fusiones

<div id="shared_merge_tree_merge_coordinator_merges_prepare_count">
  ## shared\_merge\_tree\_merge\_coordinator\_merges\_prepare\_count
</div>

<SettingsInfoBlock type="UInt64Auto" default_value="auto" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "auto"},{"label": "Hacer que el ajuste sea automático: número máximo de tareas de merge por réplica * número de réplicas activas"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "100"},{"label": "Nueva configuración"}]}]} />

Número de entradas de merge que el coordinador debe preparar y distribuir entre los workers.
Cuando se establece en 'auto', equivale al número máximo de tareas de merge permitidas en una sola réplica multiplicado por el número de réplicas activas.

<div id="shared_merge_tree_merge_coordinator_min_period_ms">
  ## shared\_merge\_tree\_merge\_coordinator\_min\_period\_ms
</div>

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

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

Tiempo mínimo entre ejecuciones del hilo del coordinador de merge

<div id="shared_merge_tree_merge_worker_fast_timeout_ms">
  ## shared\_merge\_tree\_merge\_worker\_fast\_timeout\_ms
</div>

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

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

Tiempo de espera que usará el merge worker thread si necesita actualizar su estado después de una acción inmediata

<div id="shared_merge_tree_merge_worker_regular_timeout_ms">
  ## shared\_merge\_tree\_merge\_worker\_regular\_timeout\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="10000" />

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

Tiempo entre ejecuciones del hilo de trabajo de merge

<div id="shared_merge_tree_outdated_parts_group_size">
  ## shared\_merge\_tree\_outdated\_parts\_group\_size
</div>

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

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

Número de réplicas que estarán en el mismo grupo de hash rendezvous para la limpieza de partes obsoletas.
Solo disponible en ClickHouse Cloud.

<div id="shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations">
  ## shared\_merge\_tree\_partitions\_hint\_ratio\_to\_reload\_merge\_pred\_for\_mutations
</div>

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

Volverá a cargar el predicado de merge en la tarea de selección de merge/mutación cuando la proporción `<candidate
partitions for mutations only (partitions that cannot be merged)>/<candidate
partitions for mutations>` sea mayor que este valor de configuración. Solo disponible
en ClickHouse Cloud

<div id="shared_merge_tree_parts_load_batch_size">
  ## shared\_merge\_tree\_parts\_load\_batch\_size
</div>

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

Cantidad de trabajos de obtención de metadatos de partes que se programan a la vez. Solo disponible en
ClickHouse Cloud

<div id="shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms">
  ## shared\_merge\_tree\_postpone\_next\_merge\_for\_locally\_merged\_parts\_ms
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Sincronización en Cloud"}]}]} />

Tiempo durante el que se conserva una parte fusionada localmente sin iniciar una nueva fusión que incluya
esta parte. Da a otras réplicas la oportunidad de recuperar la parte e iniciar esta fusión.
Solo disponible en ClickHouse Cloud.

<div id="shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold">
  ## shared\_merge\_tree\_postpone\_next\_merge\_for\_locally\_merged\_parts\_rows\_threshold
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1000000"},{"label": "Sincronización en Cloud"}]}]} />

Tamaño mínimo de una parte (en filas) para posponer la asignación de la siguiente fusión inmediatamente después de fusionarla localmente. Solo disponible en ClickHouse Cloud.

<div id="shared_merge_tree_range_for_merge_window_size">
  ## shared\_merge\_tree\_range\_for\_merge\_window\_size
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "10"},{"label": "Sincronización en Cloud"}]}]} />

Tiempo durante el que se conserva una parte fusionada localmente sin iniciar una nueva fusión que la incluya.
Da a otras réplicas la oportunidad de recuperar la parte e iniciar esta fusión.
Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_read_virtual_parts_from_leader">
  ## shared\_merge\_tree\_read\_virtual\_parts\_from\_leader
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Sincronización en Cloud"}]}]} />

Leer partes virtuales desde el líder cuando sea posible. Solo disponible en ClickHouse
Cloud

<div id="shared_merge_tree_replica_set_max_lifetime_seconds">
  ## shared\_merge\_tree\_replica\_set\_max\_lifetime\_seconds
</div>

<SettingsInfoBlock type="Segundos" default_value="1800" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "1800"},{"label": "Aumentar el intervalo predeterminado de actualización en segundo plano del conjunto de réplicas a 30 minutos"}]}, {"id": "row-2","items": [{"label": "26.2"},{"label": "300"},{"label": "Nueva configuración"}]}]} />

Con qué frecuencia las réplicas intentarán actualizar en segundo plano el conjunto de réplicas. La siguiente ejecución se programa con una variación aleatoria
uniforme en \[0, value] segundos. Excepción: value = 0 no sigue ese criterio;
la implementación aplica un mínimo de 200 ms, por lo que la siguiente ejecución se programa con una variación aleatoria en \[0, 200] ms.

<div id="shared_merge_tree_try_fetch_part_in_memory_data_from_replicas">
  ## shared\_merge\_tree\_try\_fetch\_part\_in\_memory\_data\_from\_replicas
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Nueva configuración para obtener los datos en memoria de las partes desde otras réplicas"}]}]} />

Si está habilitada, todas las réplicas intentan obtener de otras réplicas, donde ya existen, los datos en memoria de las partes (como la clave primaria, la información de la partición, etc.).

<div id="shared_merge_tree_update_replica_flags_delay_ms">
  ## shared\_merge\_tree\_update\_replica\_flags\_delay\_ms
</div>

<SettingsInfoBlock type="Milisegundos" default_value="30000" />

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

Frecuencia con la que la réplica intentará volver a cargar sus flags según la programación en segundo plano.

<div id="shared_merge_tree_use_metadata_hints_cache">
  ## shared\_merge\_tree\_use\_metadata\_hints\_cache
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Sincronización en Cloud"}]}]} />

Permite solicitar sugerencias de caché del FS desde la caché en memoria de otras réplicas. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_use_outdated_parts_compact_format">
  ## shared\_merge\_tree\_use\_outdated\_parts\_compact\_format
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.9"},{"label": "1"},{"label": "Habilitar las partes obsoletas v3 de forma predeterminada"}]}, {"id": "row-2","items": [{"label": "25.1"},{"label": "0"},{"label": "Sincronización en Cloud"}]}]} />

Usa el formato compacto para las partes obsoletas: reduce la carga sobre Keeper y mejora
el procesamiento de las partes obsoletas. Solo disponible en ClickHouse Cloud

<div id="shared_merge_tree_use_too_many_parts_count_from_virtual_parts">
  ## shared\_merge\_tree\_use\_too\_many\_parts\_count\_from\_virtual\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "0"},{"label": "Sincronización en Cloud"}]}]} />

Si está habilitado, el contador de Too many parts se basará en los datos compartidos de Keeper y no en el estado de la réplica local. Solo está disponible en ClickHouse Cloud

<div id="shared_merge_tree_use_zookeeper_connection_pool">
  ## shared\_merge\_tree\_use\_zookeeper\_connection\_pool
</div>

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

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

Si está habilitada, SharedMergeTree usa una de las sesiones de ZooKeeper del pool a nivel de servidor.

<div id="shared_merge_tree_virtual_parts_discovery_batch">
  ## shared\_merge\_tree\_virtual\_parts\_discovery\_batch
</div>

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

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

Cuántos descubrimientos de particiones deben agruparse en un batch

<div id="simultaneous_parts_removal_limit">
  ## simultaneous\_parts\_removal\_limit
</div>

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

Si hay muchas partes obsoletas, el hilo de limpieza intentará eliminar hasta
`simultaneous_parts_removal_limit` partes en una sola iteración.
Si `simultaneous_parts_removal_limit` se establece en `0`, significa que no hay límite.

<div id="sleep_before_commit_local_part_in_replicated_table_ms">
  ## sleep\_before\_commit\_local\_part\_in\_replicated\_table\_ms
</div>

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

Para pruebas. No lo modifique.

<div id="sleep_before_loading_outdated_parts_ms">
  ## sleep\_before\_loading\_outdated\_parts\_ms
</div>

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

Solo para pruebas. No lo cambie.

<div id="storage_policy">
  ## storage\_policy
</div>

<SettingsInfoBlock type="String" default_value="default" />

Nombre de la política de discos de almacenamiento

<div id="string_serialization_version">
  ## string\_serialization\_version
</div>

<SettingsInfoBlock type="MergeTreeStringSerializationVersion" default_value="with_size_stream" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "with_size_stream"},{"label": "Cambio al formato más reciente con tamaños separados"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "single_stream"},{"label": "Nueva configuración"}]}]} />

Controla el formato de serialización de las columnas `String` de nivel superior.

Esta configuración solo surte efecto cuando `serialization_info_version` está establecido en "with\_types".
Cuando se establece en `with_size_stream`, las columnas `String` de nivel superior se serializan con una
subcolumna `.size` independiente que almacena las longitudes de las cadenas, en lugar de hacerlo en línea. Esto permite subcolumnas `.size`
reales y puede mejorar la eficiencia de compresión.

Los tipos `String` anidados (por ejemplo, dentro de `Nullable`, `LowCardinality`, `Array` o `Map`)
no se ven afectados, excepto cuando aparecen en una `Tuple`.

Valores posibles:

* `single_stream` — Usa el formato de serialización estándar con tamaños en línea.
* `with_size_stream` — Usa un flujo de tamaños independiente para las columnas `String` de nivel superior.

<div id="table_disk">
  ## table\_disk
</div>

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

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

Se trata de un disco de tabla; la ruta/endpoint debe apuntar a los datos de la tabla, no a
los datos de la base de datos. Solo se puede establecer para s3\_plain/s3\_plain\_rewritable/web.

<div id="table_readonly">
  ## table\_readonly
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nueva configuración para marcar la tabla como de solo lectura, lo que impide las inserciones y modificaciones"}]}]} />

Si se establece en true, la tabla queda en modo de solo lectura. Cualquier intento de insertar datos o modificarla fallará.

<div id="temporary_directories_lifetime">
  ## temporary\_directories\_lifetime
</div>

<SettingsInfoBlock type="Seconds" default_value="86400" />

Cuántos segundos se deben conservar los directorios tmp\_. No debe reducir este valor,
porque es posible que las merges y las mutations no puedan funcionar correctamente con un valor bajo de esta
configuración.

<div id="try_fetch_recompressed_part_timeout">
  ## try\_fetch\_recompressed\_part\_timeout
</div>

<SettingsInfoBlock type="Segundos" default_value="7200" />

Tiempo de espera (en segundos) antes de iniciar la fusión con recompresión. Durante este
tiempo, ClickHouse intenta recuperar la parte recomprimida de la réplica a la que se asignó
esta fusión con recompresión.

La recompresión suele ser lenta en la mayoría de los casos, por lo que no se inicia la fusión con
recompresión hasta que transcurre este tiempo de espera, mientras se intenta recuperar la parte recomprimida de la
réplica a la que se asignó esta fusión con recompresión.

Valores posibles:

* Cualquier entero positivo.

<div id="ttl_only_drop_parts">
  ## ttl\_only\_drop\_parts
</div>

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

Controla si las partes de datos se eliminan por completo en las tablas MergeTree cuando todas las
filas de esa parte han caducado según su configuración de `TTL`.

Cuando `ttl_only_drop_parts` está deshabilitado (de forma predeterminada), solo se eliminan las filas que han
caducado según su configuración de `TTL`.

Cuando `ttl_only_drop_parts` está habilitado, se elimina la parte completa si todas las
filas de esa parte han caducado según su configuración de `TTL`.

<div id="use_adaptive_write_buffer_for_dynamic_subcolumns">
  ## use\_adaptive\_write\_buffer\_for\_dynamic\_subcolumns
</div>

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

Permite usar búferes de escritura adaptativos al escribir subcolumnas dinámicas para
reducir el consumo de memoria

<div id="use_async_block_ids_cache">
  ## use\_async\_block\_ids\_cache
</div>

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

Si es `true`, almacenamos en caché las sumas hash de las inserciones asíncronas.

Valores posibles:

* `true`
* `false`

Un bloque asociado a múltiples inserciones asíncronas generará múltiples sumas hash.
Cuando algunas de las inserciones estén duplicadas, Keeper solo devolverá una
suma hash duplicada en una RPC, lo que provocará reintentos de RPC innecesarios.
Esta caché observará la ruta de las sumas hash en Keeper. Si se detectan
actualizaciones en Keeper, la caché se actualizará lo antes posible para que
podamos filtrar en memoria las inserciones duplicadas.

<div id="use_compact_variant_discriminators_serialization">
  ## use\_compact\_variant\_discriminators\_serialization
</div>

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

Habilita el modo compacto para la serialización binaria de discriminadores en el
tipo de dato Variant.
Este modo permite usar mucha menos memoria para almacenar discriminadores
en las partes cuando predomina una sola variante o hay muchos valores NULL.

<div id="use_const_adaptive_granularity">
  ## use\_const\_adaptive\_granularity
</div>

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

Utilice siempre una granularidad constante para toda la parte. Esto permite comprimir en
memoria los valores de granularidad del índice. Puede ser útil en cargas de
trabajo extremadamente grandes con tablas con pocas columnas.

<div id="use_metadata_cache">
  ## use\_metadata\_cache
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="use_minimalistic_checksums_in_zookeeper">
  ## use\_minimalistic\_checksums\_in\_zookeeper
</div>

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

Utiliza un formato pequeño (decenas de bytes) para las sumas de comprobación de las partes en ZooKeeper en lugar de
las normales (decenas de KB). Antes de habilitarlo, comprueba que todas las réplicas admiten el
nuevo formato.

<div id="use_minimalistic_part_header_in_zookeeper">
  ## use\_minimalistic\_part\_header\_in\_zookeeper
</div>

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

Método de almacenamiento de los encabezados de las partes de datos en ZooKeeper. Si está habilitada, ZooKeeper
almacena menos datos. Para más información, consulte [aquí](/es/reference/settings/server-settings/settings#use_minimalistic_part_header_in_zookeeper).

<div id="use_primary_key_cache">
  ## use\_primary\_key\_cache
</div>

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

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

Usa la caché del índice primario
en lugar de mantener todos los índices en memoria. Puede ser útil para tablas muy grandes

<div id="vertical_merge_algorithm_min_bytes_to_activate">
  ## vertical\_merge\_algorithm\_min\_bytes\_to\_activate
</div>

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

Tamaño mínimo (aproximado) no comprimido, en bytes, de las partes en proceso de combinación para activar
el algoritmo de fusión vertical.

<div id="vertical_merge_algorithm_min_columns_to_activate">
  ## vertical\_merge\_algorithm\_min\_columns\_to\_activate
</div>

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

Cantidad mínima de columnas no PK necesaria para activar el algoritmo de combinación vertical.

<div id="vertical_merge_algorithm_min_rows_to_activate">
  ## vertical\_merge\_algorithm\_min\_rows\_to\_activate
</div>

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

Suma mínima (aproximada) de filas en las
partes que se fusionan para activar el algoritmo de fusión vertical.

<div id="vertical_merge_optimize_lightweight_delete">
  ## vertical\_merge\_optimize\_lightweight\_delete
</div>

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

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

Si es true, la eliminación ligera se optimiza durante la fusión vertical.

<div id="vertical_merge_optimize_ttl_delete">
  ## vertical\_merge\_optimize\_ttl\_delete
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Permite el algoritmo de fusión vertical para merges que requieren eliminar filas caducadas por TTL"}]}]} />

Si se establece en true, la eliminación de filas por TTL se optimiza en la mezcla vertical. En lugar de forzar una mezcla horizontal,
el filtro TTL se evalúa y se pasa al algoritmo de mezcla, que establece marcas de omisión en las fuentes de filas.

<div id="vertical_merge_remote_filesystem_prefetch">
  ## vertical\_merge\_remote\_filesystem\_prefetch
</div>

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

Si es true, se utiliza la precarga de datos desde el sistema de archivos remoto para la siguiente
columna durante la fusión

<div id="wait_for_unique_parts_send_before_shutdown_ms">
  ## wait\_for\_unique\_parts\_send\_before\_shutdown\_ms
</div>

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

Antes de apagarse, la tabla esperará el tiempo necesario para que otras réplicas obtengan las partes únicas
(que existen solo en la réplica actual) (`0` significa
deshabilitado).

<div id="write_ahead_log_bytes_to_fsync">
  ## write\_ahead\_log\_bytes\_to\_fsync
</div>

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

Configuración obsoleta, no tiene efecto.

<div id="write_ahead_log_interval_ms_to_fsync">
  ## write\_ahead\_log\_interval\_ms\_to\_fsync
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="write_ahead_log_max_bytes">
  ## write\_ahead\_log\_max\_bytes
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="write_final_mark">
  ## write\_final\_mark
</div>

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

Configuración obsoleta; no tiene ningún efecto.

<div id="write_marks_for_substreams_in_compact_parts">
  ## write\_marks\_for\_substreams\_in\_compact\_parts
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.8"},{"label": "1"},{"label": "Habilita de forma predeterminada la escritura de marcas para subflujos en partes compactas"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "0"},{"label": "Nueva configuración"}]}]} />

Habilita la escritura de marcas para cada subflujo en lugar de para cada columna en partes compactas.
Permite leer subcolumnas individuales de la parte de datos de forma eficiente.

Por ejemplo, la columna `t Tuple(a String, b UInt32, c Array(Nullable(UInt32)))` se serializa en los siguientes subflujos:

* `t.a` para los datos String del elemento de Tuple `a`
* `t.b` para los datos UInt32 del elemento de Tuple `b`
* `t.c.size0` para los tamaños del array del elemento de Tuple `c`
* `t.c.null` para el mapa de NULL de los elementos del array anidado del elemento de Tuple `c`
* `t.c` para los datos UInt32 de los elementos del array anidado del elemento de Tuple `c`

Cuando esta configuración está habilitada, escribiremos una marca para cada uno de estos 5 subflujos, lo que significa que podremos leer
los datos de cada subflujo individual del gránulo por separado si es necesario. Por ejemplo, si queremos leer la subcolumna `t.c`, leeremos solo los datos de los
subflujos `t.c.size0`, `t.c.null` y `t.c`, y no leeremos datos de los subflujos `t.a` y `t.b`. Cuando esta configuración está deshabilitada,
escribiremos una marca solo para la columna de nivel superior `t`, lo que significa que siempre leeremos todos los datos de la columna del gránulo, incluso si solo necesitamos los datos de algunos subflujos.

<div id="zero_copy_concurrent_part_removal_max_postpone_ratio">
  ## zero\_copy\_concurrent\_part\_removal\_max\_postpone\_ratio
</div>

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

Porcentaje máximo de partes de nivel superior cuyo borrado puede posponerse para obtener
rangos independientes más pequeños. Se recomienda no modificarlo.

<div id="zero_copy_concurrent_part_removal_max_split_times">
  ## zero\_copy\_concurrent\_part\_removal\_max\_split\_times
</div>

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

Profundidad máxima de recursión para dividir rangos independientes de partes obsoletas en
subrangos más pequeños. Se recomienda no modificarlo.

<div id="zero_copy_merge_mutation_min_parts_size_sleep_before_lock">
  ## zero\_copy\_merge\_mutation\_min\_parts\_size\_sleep\_before\_lock
</div>

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

Si la replicación de copia cero está habilitada, espera un intervalo aleatorio antes de intentar
adquirir el bloqueo, en función del tamaño de las partes para merge o mutation

<div id="zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock">
  ## zero\_copy\_merge\_mutation\_min\_parts\_size\_sleep\_no\_scale\_before\_lock
</div>

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

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

Si la replicación de copia cero está habilitada, espere un intervalo aleatorio de hasta 500 ms
antes de intentar adquirir el bloqueo para una combinación o mutación.

<div id="zookeeper_session_expiration_check_period">
  ## zookeeper\_session\_expiration\_check\_period
</div>

<SettingsInfoBlock type="Seconds" default_value="60" />

Período de comprobación de la expiración de la sesión de ZooKeeper, en segundos.

Valores posibles:

* Cualquier entero positivo.
