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

# ajustes de sesión allow_*

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

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

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>
                Funcionalidad beta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Más información.
                    </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>
            Funcionalidad experimental. <u><a href="/docs/docs/beta-and-experimental-features#experimental-features">Más información.</a></u>
        </div>;
};

Estos ajustes están disponibles en [system.settings](/docs/es/reference/system-tables/settings) y se generan automáticamente a partir del [código fuente](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="allow_aggregate_partitions_independently">
  ## allow\_aggregate\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1"},{"label": "Habilita de forma predeterminada la agregación independiente por partición cuando la clave de partición coincide con la clave de GROUP BY. Las heurísticas de ejecución existentes en `ReadFromMergeTree::requestOutputEachPartitionThroughSeparatePortForAggregation` ya omiten la optimización cuando la distribución de las particiones es desfavorable (muy pocas particiones, demasiadas particiones o tamaños de partición muy desiguales), por lo que habilitar esta configuración es seguro en los casos en los que, de otro modo, no tendría efecto."}]}]} />

Habilita la agregación independiente de las particiones en hilos separados cuando la clave de partición coincide con la clave de group by. Resulta beneficioso cuando el número de particiones es cercano al número de núcleos y las particiones tienen aproximadamente el mismo tamaño. Las heurísticas de `ReadFromMergeTree` desactivan automáticamente la optimización para distribuciones desfavorables (muy pocas particiones, demasiadas particiones o tamaños de partición muy desiguales); consulta `force_aggregate_partitions_independently` para omitir esas comprobaciones.

<div id="allow_archive_path_syntax">
  ## allow\_archive\_path\_syntax
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.8"},{"label": "1"},{"label": "Se añadió una nueva configuración que permite deshabilitar la sintaxis de rutas de archivos comprimidos."}]}, {"id": "row-2","items": [{"label": "24.5"},{"label": "1"},{"label": "Se añadió una nueva configuración que permite deshabilitar la sintaxis de rutas de archivos comprimidos."}]}]} />

Los motores File/S3 y la función de tabla interpretarán las rutas con '::' como `<archive> :: <file>` si el archivo tiene la extensión correcta.

<div id="allow_asynchronous_read_from_io_pool_for_merge_tree">
  ## allow\_asynchronous\_read\_from\_io\_pool\_for\_merge\_tree
</div>

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

Usa el grupo de E/S en segundo plano para leer desde tablas MergeTree. Esta configuración puede mejorar el rendimiento de las consultas limitadas por E/S.

<div id="allow_calculating_subcolumns_sizes_for_merge_tree_reading">
  ## allow\_calculating\_subcolumns\_sizes\_for\_merge\_tree\_reading
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "1"},{"label": "Permite calcular los tamaños de las subcolumnas para la lectura de MergeTree y mejorar la división de las tareas de lectura"}]}]} />

Cuando está habilitado, ClickHouse calculará el tamaño de los archivos necesarios para leer cada subcolumna, lo que mejora el cálculo de los tamaños de las tareas y los bloques.

<div id="allow_changing_replica_until_first_data_packet">
  ## allow\_changing\_replica\_until\_first\_data\_packet
</div>

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

Si está habilitado, en las solicitudes hedged podemos iniciar una nueva conexión hasta recibir el primer paquete de datos, incluso si ya se ha registrado cierto progreso
(aunque el progreso no se haya actualizado durante el tiempo de espera de `receive_data_timeout`); de lo contrario, se deshabilita el cambio de réplica después de la primera vez que se registra progreso.

<div id="allow_create_index_without_type">
  ## allow\_create\_index\_without\_type
</div>

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

Permite la consulta CREATE INDEX sin TYPE. La consulta se ignorará. Creado para pruebas de compatibilidad con SQL.

<div id="allow_custom_error_code_in_throwif">
  ## allow\_custom\_error\_code\_in\_throwif
</div>

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

Permite usar un código de error personalizado en la función throwIf(). Si es true, las excepciones lanzadas pueden tener códigos de error inesperados.

<div id="allow_ddl">
  ## allow\_ddl
</div>

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

Si se establece en true, un usuario puede ejecutar consultas DDL.

<div id="allow_distributed_ddl">
  ## allow\_distributed\_ddl
</div>

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

Si se establece en true, se permite a un usuario ejecutar consultas DDL distribuidas.

<div id="allow_drop_detached">
  ## allow\_drop\_detached
</div>

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

Permite las consultas ALTER TABLE ... DROP DETACHED PART\[ITION] ...

<div id="allow_dynamic_type_in_join_keys">
  ## allow\_dynamic\_type\_in\_join\_keys
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.10"},{"label": "0"},{"label": "No permitir el uso del tipo Dynamic en las claves de JOIN de forma predeterminada"}]}]} />

Permite usar el tipo Dynamic en las claves de JOIN. Se añadió por compatibilidad. No se recomienda usar el tipo Dynamic en las claves de JOIN, porque la comparación con otros tipos puede dar lugar a resultados inesperados.

<div id="allow_execute_multiif_columnar">
  ## allow\_execute\_multiif\_columnar
</div>

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

Permite ejecutar la función multiIf de forma columnar

<div id="allow_fuzz_query_functions">
  ## allow\_fuzz\_query\_functions
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "Nueva opción de configuración para habilitar la función fuzzQuery."}]}]} />

Habilita la función `fuzzQuery`, que aplica mutaciones aleatorias del AST a una cadena de consulta.

<div id="allow_general_join_planning">
  ## allow\_general\_join\_planning
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.1"},{"label": "1"},{"label": "Permite un algoritmo de planificación de JOIN más general cuando está habilitado el algoritmo hash join."}]}]} />

Permite un algoritmo de planificación de JOIN más general, capaz de manejar condiciones más complejas, pero solo funciona con hash join. Si hash join no está habilitado, se usa el algoritmo habitual de planificación de JOIN independientemente del valor de esta configuración.

<div id="allow_get_client_http_header">
  ## allow\_get\_client\_http\_header
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "24.3"},{"label": "0"},{"label": "Se introdujo una nueva función."}]}]} />

Permite usar la función `getClientHTTPHeader`, que permite obtener el valor de un encabezado de la solicitud HTTP actual. No está habilitada de forma predeterminada por motivos de seguridad, porque algunos encabezados, como `Cookie`, podrían contener información sensible. Ten en cuenta que los encabezados `X-ClickHouse-*`, `Authentication` y `Authorization` siempre están restringidos y no se pueden obtener con esta función.

<div id="allow_hyperscan">
  ## allow\_hyperscan
</div>

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

Permite el uso de funciones que utilizan la biblioteca Hyperscan. Desactívelo para evitar tiempos de compilación potencialmente largos y un uso excesivo de recursos.

<div id="allow_iceberg_remove_orphan_files">
  ## allow\_iceberg\_remove\_orphan\_files
</div>

<ExperimentalBadge />

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.4"},{"label": "0"},{"label": "Nueva configuración para habilitar la eliminación de archivos huérfanos de Iceberg"}]}]} />

Permite usar 'ALTER TABLE ... EXECUTE remove\_orphan\_files()' en tablas Iceberg.

<div id="allow_insert_into_iceberg">
  ## allow\_insert\_into\_iceberg
</div>

<BetaBadge />

**Aliases**: `allow_experimental_insert_into_iceberg`

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.2"},{"label": "0"},{"label": "La inserción en Iceberg pasó a Beta"}]}, {"id": "row-2","items": [{"label": "25.7"},{"label": "0"},{"label": "Nueva configuración."}]}]} />

Permite ejecutar consultas `insert` en Iceberg.

<div id="allow_introspection_functions">
  ## allow\_introspection\_functions
</div>

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

Activa o desactiva las [funciones de introspección](/docs/es/reference/functions/regular-functions/introspection) para el perfilado de consultas.

Valores posibles:

* 1 — Funciones de introspección activadas.
* 0 — Funciones de introspección desactivadas.

**Véase también**

* [Sampling Query Profiler](/docs/es/concepts/features/performance/troubleshoot/sampling-query-profiler)
* Tabla del sistema [trace\_log](/docs/es/reference/system-tables/trace_log)

<div id="allow_key_condition_coalesce_rewrite">
  ## allow\_key\_condition\_coalesce\_rewrite
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "1"},{"label": "Nueva configuración para reescribir predicados de la forma `coalesce(a_1, ..., a_N) <op> const` (o, de forma equivalente, `ifNull`, o con la constante a la izquierda) como una disyunción antes del análisis de índices, de modo que puedan usarse la clave primaria por columna y los índices de omisión de cada `a_i`. También se manejan formas con constantes parciales como `coalesce(a, 42, b)` y `coalesce(a, b, 42)`."}]}]} />

Permite que la clave primaria de MergeTree y los índices de omisión descarten gránulos para predicados `WHERE`/`PREWHERE` que incluyan `coalesce` o `ifNull`. Sin esta configuración, esos predicados son opacos al análisis de índices y no permiten descartar, por lo que se siguen leyendo gránulos que no pueden coincidir. Esto solo afecta a qué gránulos se leen; los resultados de la consulta no cambian, porque las filas se siguen filtrando mediante el predicado original.

Antes del análisis de índices, se reescriben dos patrones de predicados:

* Una comparación con `coalesce`/`ifNull`, como `coalesce(a, b) = 5`, se convierte en una disyunción para que un índice sobre cada argumento pueda descartar: `a = 5 OR (a IS NULL AND b = 5)`, ampliado a más argumentos.
* Un `coalesce`/`ifNull` con un valor predeterminado falso (cero) usado directamente como condición, como `ifNull(a = 5, 0)` o `coalesce(a = 5, 0)`, se simplifica a su predicado interno `a = 5`. Estas envolturas reducen el resultado ternario del predicado interno a un booleano definido (asignando `NULL` a `false`).

<div id="allow_limit_by_partitions_independently">
  ## allow\_limit\_by\_partitions\_independently
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "1"},{"label": "Nueva opción para habilitar la evaluación independiente de `LIMIT BY` por partición cuando la expresión de partición es una función determinista de las columnas de `LIMIT BY`."}]}]} />

Habilita la evaluación independiente de `LIMIT BY` por partición en hilos separados cuando la expresión de partición es una función determinista de las columnas de `LIMIT BY`.

<div id="allow_materialized_view_with_bad_select">
  ## allow\_materialized\_view\_with\_bad\_select
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.4"},{"label": "0"},{"label": "No permitir la creación de MV que hagan referencia a columnas o tablas inexistentes"}]}, {"id": "row-2","items": [{"label": "24.9"},{"label": "1"},{"label": "Admitir (pero sin habilitar aún) una validación más estricta en CREATE MATERIALIZED VIEW"}]}]} />

Permite CREATE MATERIALIZED VIEW con una consulta SELECT que haga referencia a tablas o columnas inexistentes. Debe seguir siendo sintácticamente válida. No se aplica a las MV refrescables. No se aplica si el esquema de la MV debe inferirse a partir de la consulta SELECT (es decir, si CREATE no tiene lista de columnas ni cláusula TO). Puede usarse para crear una MV antes de su tabla de origen.

<div id="allow_minmax_index_for_json">
  ## allow\_minmax\_index\_for\_json
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "Prohíbe crear índices de omisión minmax en columnas JSON de forma predeterminada, porque la serialización del índice no puede manejar valores de Field heterogéneos"}]}]} />

Permite crear índices de omisión minmax en columnas JSON (Object). Está deshabilitado de forma predeterminada porque la ruta de serialización del índice minmax no puede manejar valores de Field heterogéneos que pueden contener las columnas JSON.

<div id="allow_named_collection_override_by_default">
  ## allow\_named\_collection\_override\_by\_default
</div>

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

Permite sobrescribir de forma predeterminada los campos de las colecciones con nombre.

<div id="allow_non_metadata_alters">
  ## allow\_non\_metadata\_alters
</div>

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

Permite ejecutar operaciones ALTER que afectan no solo a los metadatos de las tablas, sino también a los datos en disco

<div id="allow_nonconst_timezone_arguments">
  ## allow\_nonconst\_timezone\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.4"},{"label": "0"},{"label": "Permite argumentos de zona horaria no constantes en determinadas funciones relacionadas con el tiempo, como toTimeZone(), fromUnixTimestamp*(), snowflakeToDateTime*()."}]}]} />

Permite argumentos de zona horaria no constantes en determinadas funciones relacionadas con el tiempo, como toTimeZone(), fromUnixTimestamp\*(), snowflakeIDToDateTime\*().
Esta configuración existe únicamente por motivos de compatibilidad. En ClickHouse, la zona horaria es una propiedad del tipo de dato y, por extensión, de la columna.
Habilitar esta configuración da la impresión errónea de que distintos valores dentro de una columna pueden tener distintas zonas horarias.
Por lo tanto, no habilite esta configuración.

<div id="allow_nullable_tuple_in_extracted_subcolumns">
  ## allow\_nullable\_tuple\_in\_extracted\_subcolumns
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.3"},{"label": "0"},{"label": "Nueva configuración que controla si las subcolumnas extraídas de tipo Tuple pueden ser anulables."}]}]} />

Controla si las subcolumnas extraídas de tipo `Tuple(...)` pueden tener el tipo `Nullable(Tuple(...))`.

* `false`: Devuelve `Tuple(...)` y usa valores de tupla predeterminados para las filas en las que falta la subcolumna.
* `true`: Devuelve `Nullable(Tuple(...))` y usa `NULL` para las filas en las que falta la subcolumna.

Esta configuración controla solo el comportamiento de las subcolumnas extraídas.
No controla si se pueden crear columnas `Nullable(Tuple(...))` en tablas; eso lo controla `enable_nullable_tuple_type`.

ClickHouse usa el valor de esta configuración cargado al iniciar el servidor.
Los cambios realizados con `SET` o con `SETTINGS` a nivel de consulta no cambian el comportamiento de las subcolumnas extraídas.
Para cambiar el comportamiento de las subcolumnas extraídas, actualiza `allow_nullable_tuple_in_extracted_subcolumns` en la configuración del perfil de inicio (por ejemplo, users.xml) y reinicia el servidor.

<div id="allow_rank_dense_rank_arguments">
  ## allow\_rank\_dense\_rank\_arguments
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.5"},{"label": "0"},{"label": "Nueva configuración. Antes de la versión 26.5, las funciones de ventana `RANK` y `DENSE_RANK` ignoraban silenciosamente cualquier argumento proporcionado (equivalente a `allow_rank_dense_rank_arguments = 1`). A partir de la versión 26.5, rechazan los argumentos de forma predeterminada con `NUMBER_OF_ARGUMENTS_DOESNT_MATCH` porque, según el estándar SQL, estas funciones no aceptan argumentos. Establezca esto en `1` para restaurar el comportamiento heredado."}]}]} />

Permite pasar argumentos a las funciones de ventana `RANK` y `DENSE_RANK` para mantener la compatibilidad con versiones anteriores.

Según el estándar SQL, `RANK` y `DENSE_RANK` no aceptan argumentos: clasifican las filas basándose únicamente en la
window `OVER (ORDER BY ...)`. En las versiones de ClickHouse anteriores a la 26.5, consultas como
`RANK(x) OVER (...)` aceptaban e ignoraban silenciosamente el argumento, lo que generaba confusión entre los usuarios
(el argumento visible sugería que influía en la clasificación, pero no era así).

Cuando esta configuración es `false` (la predeterminada), `RANK` y `DENSE_RANK` rechazan cualquier argumento y
lanzan `NUMBER_OF_ARGUMENTS_DOESNT_MATCH`. Cuando se establece en `true`, se
restaura el comportamiento flexible heredado: los argumentos se ignoran silenciosamente, igual que antes de la versión 26.5.

<div id="allow_reorder_prewhere_conditions">
  ## allow\_reorder\_prewhere\_conditions
</div>

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

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

Permite reordenar las condiciones al moverlas de WHERE a PREWHERE para optimizar el filtrado

<div id="allow_replace_partition_from_empty_source">
  ## allow\_replace\_partition\_from\_empty\_source
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.6"},{"label": "0"},{"label": "Nueva comprobación de seguridad: `ALTER TABLE ... REPLACE PARTITION ... FROM ...` ahora genera una excepción cuando la tabla de origen no tiene partes en la partición solicitada (corrige la pérdida silenciosa de datos en [#23727](https:\/\/github.com\/ClickHouse\/ClickHouse\/issues\/23727)). El comportamiento anterior, que eliminaba silenciosamente la partición de destino, se conserva estableciendo `allow_replace_partition_from_empty_source = 1`."}]}]} />

Permite que `ALTER TABLE ... REPLACE PARTITION ... FROM ...` elimine silenciosamente la partición de destino cuando la tabla de origen no tiene partes en esa partición.

De forma predeterminada, esto no está permitido: `REPLACE PARTITION` desde una tabla de origen que no tiene datos en la partición solicitada genera una excepción, porque en ese caso la operación pasa, en la práctica, a ser un `DROP PARTITION` silencioso en el destino (se eliminan los datos del destino y nada los sustituye), una causa habitual de pérdida accidental de datos (consulta [#23727](https://github.com/ClickHouse/ClickHouse/issues/23727)).

Habilita esta configuración para restaurar el comportamiento anterior, por ejemplo, cuando uses intencionadamente una partición de origen vacía para borrar datos del destino. Si quieres eliminarla sin condiciones, es preferible usar `ALTER TABLE ... DROP PARTITION ...`.

<div id="allow_settings_after_format_in_insert">
  ## allow\_settings\_after\_format\_in\_insert
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "22.4"},{"label": "0"},{"label": "No permitir `SETTINGS` después de `FORMAT` en las consultas `INSERT`, porque ClickHouse puede interpretar `SETTINGS` como valores, lo cual puede resultar confuso"}]}]} />

Controla si se permite o no `SETTINGS` después de `FORMAT` en las consultas `INSERT`. No se recomienda usarlo, ya que puede interpretar parte de `SETTINGS` como valores.

Ejemplo:

```sql theme={null}
INSERT INTO FUNCTION null('foo String') SETTINGS max_threads=1 VALUES ('bar');
```

Pero la siguiente consulta solo funcionará con `allow_settings_after_format_in_insert`:

```sql theme={null}
SET allow_settings_after_format_in_insert=1;
INSERT INTO FUNCTION null('foo String') VALUES ('bar') SETTINGS max_threads=1;
```

Valores posibles:

* 0 — No permitir.
* 1 — Permitir.

<Note>
  Use esta configuración solo para mantener la compatibilidad con versiones anteriores si sus casos de uso dependen de la sintaxis anterior.
</Note>

<div id="allow_simdjson">
  ## allow\_simdjson
</div>

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

Permite usar la library simdjson en las funciones 'JSON\*' si hay disponibles instrucciones AVX2. Si se desactiva, se usará rapidjson.

<div id="allow_special_serialization_kinds_in_output_formats">
  ## allow\_special\_serialization\_kinds\_in\_output\_formats
</div>

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

<VersionHistory rows={[{"id": "row-1","items": [{"label": "25.11"},{"label": "1"},{"label": "Habilita la salida directa de representaciones especiales de columnas, como Sparse\/Replicated, en algunos formatos de salida"}]}, {"id": "row-2","items": [{"label": "25.10"},{"label": "0"},{"label": "Agrega una configuración para permitir la salida de representaciones especiales de columnas, como Sparse\/Replicated, sin convertirlas en columnas completas"}]}]} />

Permite generar la salida de columnas con tipos especiales de serialización, como Sparse y Replicated, sin convertirlas a una representación de columna completa.
Ayuda a evitar copias de datos innecesarias durante el formateo.

<div id="allow_unrestricted_reads_from_keeper">
  ## allow\_unrestricted\_reads\_from\_keeper
</div>

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

Permite lecturas sin restricciones (sin condición sobre la ruta) desde la tabla system.zookeeper; puede resultar útil, pero no es seguro para ZooKeeper
