Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ajustes de sesión max_bytes_*

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

max_bytes_before_external_group_by

Tipo
UInt64
Predeterminado
0

Valor predeterminado de Cloud: la mitad de la memoria por réplica.

Habilita o deshabilita la ejecución de cláusulas GROUP BY en memoria externa. (Véase GROUP BY en memoria externa)

Valores posibles:

  • Volumen máximo de RAM (en bytes) que puede usar una sola operación GROUP BY.
  • 0GROUP BY en memoria externa deshabilitado.

max_bytes_before_external_join

Tipo
UInt64
Predeterminado
0
Historial de versiones
VersiónValor predeterminadoComentario
26.40Nueva configuración para controlar el volcado automático a disco de los hash joins. Un valor distinto de cero habilita el volcado y establece el umbral en bytes.

Si se establece en un valor distinto de cero y join_algorithm es hash, parallel_hash, default o auto, el hash join se convertirá automáticamente en grace hash join para habilitar el volcado a disco cuando los datos del lado derecho superen esta cantidad de bytes. Cuando se establece en 0 (valor predeterminado), este umbral absoluto en bytes se desactiva, pero el volcado automático puede seguir produciéndose mediante max_bytes_ratio_before_external_join (cuyo valor predeterminado es 0.5); establezca ambos en 0 para desactivar por completo el volcado automático. Impide la optimización de read in order a través de join.

max_bytes_before_external_sort

Tipo
UInt64
Predeterminado
0

Valor predeterminado en Cloud: la mitad de la memoria por réplica.

Habilita o deshabilita la ejecución de cláusulas ORDER BY en memoria externa. Consulte Detalles de implementación de ORDER BY Si el uso de memoria durante la operación ORDER BY supera este umbral en bytes, se activa el modo de "ordenación externa" (volcado de datos a disco).

Valores posibles:

  • Volumen máximo de RAM (en bytes) que puede usar una única operación ORDER BY. El valor recomendado es la mitad de la memoria disponible del sistema
  • 0ORDER BY en memoria externa deshabilitado.

max_bytes_before_remerge_sort

Tipo
UInt64
Predeterminado
1000000000

En caso de usar ORDER BY con LIMIT, cuando el uso de memoria supere el umbral especificado, realiza pasos adicionales de combinación de bloques antes de la fusión final para conservar solo las primeras filas del LIMIT.

max_bytes_for_lazy_final

Tipo
UInt64
Predeterminado
256000000
Historial de versiones
VersiónValor predeterminadoComentario
26.4256000000Nueva configuración para el número máximo de bytes en el conjunto para la optimización FINAL diferida

Número máximo de bytes en el conjunto para la optimización FINAL diferida. Si se supera, se recurre a FINAL normal.

max_bytes_in_distinct

Tipo
UInt64
Predeterminado
0

El número máximo de bytes del estado en memoria (en bytes sin comprimir) que utiliza una tabla hash al usar DISTINCT.

max_bytes_in_join

Tipo
UInt64
Predeterminado
0

El tamaño máximo en bytes de la estructura de datos del lado derecho (normalmente, una tabla hash) que se utiliza al unir tablas.

Esta configuración se aplica a las operaciones SELECT … JOIN y al motor de tabla Join.

Si una consulta contiene varios joins, ClickHouse comprueba esta configuración en cada resultado intermedio. Cuando se alcanza el límite, la acción depende del join_algorithm elegido; consulta esa configuración para ver el comportamiento de cada algoritmo (spill, re-partition, switch o throw/break según join_overflow_mode).

Valores posibles:

  • Entero positivo.
  • 0 — El control de memoria está deshabilitado.

max_bytes_in_set

Tipo
UInt64
Predeterminado
0

El número máximo de bytes (de datos no comprimidos) que puede usar un Set de la cláusula IN creado a partir de una subconsulta.

max_bytes_ratio_before_external_group_by

Tipo
Double
Predeterminado
0.5
Historial de versiones
VersiónValor predeterminadoComentario
25.10.5Activar el volcado automático a disco de forma predeterminada.
24.120Nueva configuración.

La proporción de la memoria disponible que puede usarse para GROUP BY. Una vez alcanzado este valor, se utiliza memoria externa para la agregación.

Por ejemplo, si se establece en 0.6, GROUP BY permitirá usar el 60 % de la memoria disponible (para server/user/merges) al inicio de la ejecución; a partir de ese momento, empezará a usar agregación externa.

max_bytes_ratio_before_external_join

Tipo
Double
Predeterminado
0.5
Historial de versiones
VersiónValor predeterminadoComentario
26.50.5Nueva configuración: proporción de memoria disponible utilizada como umbral de volcado a disco para hash joins. Está habilitada de forma predeterminada con `0.5`, en consonancia con `max_bytes_ratio_before_external_group_by` y `max_bytes_ratio_before_external_sort`. Se combina con el valor absoluto `max_bytes_before_external_join` (se aplica el menor de los dos).

La proporción de memoria disponible que se permite para JOIN. Una vez alcanzada, el hash join se convertirá en grace hash join para volcar en disco los datos del lado derecho.

Por ejemplo, si se establece en 0.6, JOIN permitirá usar el 60% de la memoria disponible (para server/user/merges) para la tabla hash del lado derecho al comienzo de la ejecución; a partir de ese momento, comenzará a volcar datos a disco.

Si se establecen tanto max_bytes_before_external_join como max_bytes_ratio_before_external_join, se usa el umbral resultante más bajo. Si la proporción es 0, solo se aplica la configuración absoluta.

Solo tiene efecto cuando join_algorithm es hash, parallel_hash, default o auto y hay configurada una ruta de datos temporales.

max_bytes_ratio_before_external_sort

Tipo
Double
Predeterminado
0.5
Historial de versiones
VersiónValor predeterminadoComentario
25.10.5Habilitar el volcado automático a disco de forma predeterminada.
24.120Nueva configuración.

La proporción de la memoria disponible que puede usarse para ORDER BY. Al alcanzarse, se utiliza la ordenación externa.

Por ejemplo, si se establece en 0.6, ORDER BY permitirá usar el 60% de la memoria disponible (para server/user/merges) al inicio de la ejecución; a partir de ese momento, empezará a usar ordenación externa.

Tenga en cuenta que max_bytes_before_external_sort sigue respetándose; el volcado a disco solo se realizará si el bloque de ordenación es mayor que max_bytes_before_external_sort.

max_bytes_to_read

Tipo
UInt64
Predeterminado
0

El número máximo de bytes (de datos sin comprimir) que se pueden leer de una tabla al ejecutar una consulta. La restricción se comprueba para cada fragmento de datos procesado, se aplica solo a la expresión de tabla más interna y, al leer desde un servidor remoto, se comprueba solo en el servidor remoto.

max_bytes_to_read_leaf

Tipo
UInt64
Predeterminado
0

La cantidad máxima de bytes (de datos sin comprimir) que se pueden leer de una tabla local en un nodo hoja al ejecutar una consulta distribuida. Aunque las consultas distribuidas pueden emitir varias subconsultas a cada segmento (hoja), este límite solo se comprobará en la etapa de lectura en los nodos hoja y se ignorará en la etapa de combinación de resultados en el nodo raíz.

Por ejemplo, un clúster consta de 2 segmentos y cada segmento contiene una tabla con 100 bytes de datos. Una consulta distribuida que deba leer todos los datos de ambas tablas con la configuración max_bytes_to_read=150 fallará, ya que en total serán 200 bytes. Una consulta con max_bytes_to_read_leaf=150 tendrá éxito, puesto que los nodos hoja leerán como máximo 100 bytes.

La restricción se comprueba para cada fragmento de datos procesado.

max_bytes_to_sort

Tipo
UInt64
Predeterminado
0

El número máximo de bytes antes de la ordenación. Si es necesario procesar una cantidad de bytes sin comprimir superior a la especificada para la operación ORDER BY, el comportamiento vendrá determinado por sort_overflow_mode, que de forma predeterminada está establecido en throw.

max_bytes_to_transfer

Tipo
UInt64
Predeterminado
0

La cantidad máxima de bytes (datos no comprimidos) que se puede transferir a un servidor remoto o guardar en una tabla temporal cuando se ejecuta la sección GLOBAL IN/JOIN.

Navigation