Skip to main content
Estas opciones de configuración están disponibles en system.settings y se generan automáticamente a partir del código fuente.

max_temporary_columns

El número máximo de columnas temporales que deben mantenerse simultáneamente en RAM al ejecutar una consulta, incluidas las columnas constantes. Si una consulta genera más columnas temporales en memoria de las especificadas como resultado de un cálculo intermedio, se produce una excepción.
Esta configuración es útil para evitar consultas excesivamente complejas.
El valor 0 significa que no hay límite.

max_temporary_data_on_disk_size_for_query

La cantidad máxima de datos, en bytes, consumida por archivos temporales en disco para todas las consultas que se ejecutan de forma concurrente. Valores posibles:
  • Entero positivo.
  • 0 — ilimitado (predeterminado)

max_temporary_data_on_disk_size_for_user

La cantidad máxima de datos consumida por los archivos temporales en disco, en bytes, para todas las consultas del usuario que se ejecutan de forma concurrente. Valores posibles:
  • Entero positivo.
  • 0 — ilimitado (predeterminado)

max_temporary_non_const_columns

Al igual que max_temporary_columns, es el número máximo de columnas temporales que deben mantenerse simultáneamente en RAM al ejecutar una consulta, sin contar las columnas constantes.
Las columnas constantes se generan con bastante frecuencia al ejecutar una consulta, pero requieren prácticamente cero recursos de cómputo.

max_temporary_table_memory_usage

Número máximo de bytes de memoria que puede ocupar una tabla temporal con el motor Memory. Se aplica a las tablas creadas con CREATE TEMPORARY TABLE, incluido el motor de tabla temporal predeterminado (consulte default_temporary_table_engine), y se contabiliza de la misma forma que total_bytes en system.tables. El límite se comprueba en cada INSERT en la tabla (incluido CREATE TEMPORARY TABLE ... AS SELECT), tanto mientras se reciben los datos como justo antes de añadirlos: si la tabla fuera a superarlo, el INSERT lanza una excepción con el código de error TOO_MANY_BYTES y los datos no se añaden. Un INSERT que escribe con varios threads (consulte max_insert_threads) añade los datos de cada thread por separado, por lo que es posible que los datos de algunos threads ya se hayan añadido cuando otro lanza la excepción, pero la tabla nunca supera el límite. El valor se toma de la configuración de la consulta INSERT. El límite también se comprueba tras una mutación (ALTER TABLE ... UPDATE, MATERIALIZE COLUMN, etc.), con el valor de la configuración de la consulta ALTER: si los datos mutados fueran a superarlo, la mutación lanza una excepción con el código de error TOO_MANY_BYTES y los datos no se modifican. Tenga en cuenta que la configuración max_bytes_to_keep del motor Memory funciona de otra manera: desaloja los datos más antiguos en lugar de rechazar los nuevos. Si ambas están definidas, primero se aplica el desalojo. Valores posibles:
  • Entero positivo.
  • 0 — ilimitado (predeterminado)

max_temporary_table_size_bytes_compressed

Tamaño máximo en bytes de los datos en disco (comprimidos) de una tabla temporal con un motor de la familia MergeTree. Se aplica a las tablas creadas con CREATE TEMPORARY TABLE y se calcula del mismo modo que total_bytes en system.tables, es decir, como la suma de los tamaños de las partes de datos activas. El límite se comprueba en cada INSERT en la tabla (incluido CREATE TEMPORARY TABLE ... AS SELECT) antes de confirmar cada nueva parte de datos: si la tabla fuera a superarlo, el INSERT lanza una excepción con el código de error TOO_MANY_BYTES y la parte no se añade. Las partes confirmadas anteriormente por el mismo INSERT permanecen en la tabla, como sucede con cualquier otro error durante un INSERT de varios bloques. El valor se toma de la configuración de la consulta INSERT. Las operaciones que añaden partes existentes a la tabla se limitan del mismo modo, tomando el valor de la configuración de su propia consulta: ATTACH PART, ATTACH PARTITION, ATTACH PARTITION ... FROM, REPLACE PARTITION ... FROM y CREATE TEMPORARY TABLE ... CLONE AS. Estas operaciones se rechazan por completo, salvo que no aumenten el tamaño de la tabla. En el caso de ATTACH PARTITION, la comprobación se realiza una única vez para todas sus partes antes de adjuntarlas, por lo que las escrituras que se ejecuten simultáneamente pueden hacer que la tabla supere ligeramente el límite. Las partes escritas por las fusiones en segundo plano y las mutaciones (ALTER TABLE ... UPDATE, MATERIALIZE COLUMN, etc.) no se comprueban, por lo que una mutación que aumente el tamaño de los datos puede hacer que la tabla supere el límite. Valores posibles:
  • Entero positivo.
  • 0 — ilimitado (predeterminado)

max_temporary_table_size_bytes_uncompressed

Tamaño máximo, en bytes, de los datos sin comprimir de una tabla temporal con un motor de la familia MergeTree. Se aplica a las tablas creadas con CREATE TEMPORARY TABLE y se calcula de la misma forma que total_bytes_uncompressed en system.tables. El límite se comprueba de la misma forma que max_temporary_table_size_bytes_compressed. Valores posibles:
  • Entero positivo.
  • 0 — sin límite (predeterminado)

max_temporary_tables

Número máximo de tablas temporales que pueden existir simultáneamente en una sesión. Solo se contabilizan las tablas creadas con CREATE TEMPORARY TABLE; no se cuentan las tablas con datos externos enviados junto con una consulta ni las tablas temporales que se crean internamente para GLOBAL IN / GLOBAL JOIN o para CTE materializadas. El límite se comprueba al crear una nueva tabla temporal y, si la sesión ya alcanzó ese número de tablas temporales, se lanza una excepción con el código de error TOO_MANY_TABLES. Reemplazar una tabla temporal existente con CREATE OR REPLACE TEMPORARY TABLE no incrementa el número de tablas y siempre está permitido. Valores posibles:
  • Entero positivo.
  • 0 — ilimitado (predeterminado)
Última modificación el 23 de julio de 2026