> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ajustes de tablas MergeTree write_*

> Ajustes de tablas MergeTree de ClickHouse en el grupo generado write_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Tipo</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>Predeterminado</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Modificable sin reiniciar
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Estas opciones de configuración están disponibles en [system.merge\_tree\_settings](/docs/es/reference/system-tables/merge_tree_settings) y se generan automáticamente a partir del código fuente de ClickHouse.

<div id="write_final_mark">
  ## write\_final\_mark
</div>

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

Configuración obsoleta; no hace nada.

<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 substreams en partes compactas"}]}, {"id": "row-2","items": [{"label": "25.5"},{"label": "0"},{"label": "Nueva configuración"}]}]} />

Habilita la escritura de marcas para cada substream en lugar de para cada columna en las 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 substreams:

* `t.a` para los datos String del elemento `a` de la Tuple
* `t.b` para los datos UInt32 del elemento `b` de la Tuple
* `t.c.size0` para los tamaños del Array del elemento `c` de la Tuple
* `t.c.null` para el mapa de NULL de los elementos del Array anidado del elemento `c` de la Tuple
* `t.c` para los datos UInt32 de los elementos del Array anidado del elemento `c` de la Tuple

Cuando esta configuración está habilitada, escribiremos una marca para cada uno de estos 5 substreams, lo que significa que podremos leer
los datos de cada substream individual del gránulo por separado si es necesario. Por ejemplo, si queremos leer la subcolumna `t.c`, leeremos solo los datos de los
substreams `t.c.size0`, `t.c.null` y `t.c`, y no leeremos datos de los substreams `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 substreams.
