Skip to main content
Disponible a partir de la versión 25.6Este motor de tabla está disponible a partir de la versión 25.6, tanto en OSS como en Cloud.
Este motor hereda de MergeTree. La principal diferencia está en cómo se fusionan las partes de datos: en las tablas CoalescingMergeTree, ClickHouse sustituye todas las filas con la misma clave primaria (o, más precisamente, la misma clave de ordenación) por una sola fila que contiene, para cada columna, el valor distinto de NULL más reciente. Esto permite realizar upserts a nivel de columna, lo que significa que puedes actualizar solo columnas concretas en lugar de filas completas. CoalescingMergeTree está pensado para usarse con tipos Nullable en columnas que no forman parte de la clave. Si las columnas no son Nullable, el comportamiento es el mismo que con ReplacingMergeTree.

Crear una tabla

Para obtener información sobre los parámetros de la solicitud, consulte la descripción de la solicitud.

Parámetros de CoalescingMergeTree

Columnas

columns - Opcional. Una tupla con los nombres de las columnas cuyos valores se combinarán. Las columnas proporcionadas no deben formar parte de la partición ni de la clave de ordenación. Si no se especifica columns, ClickHouse combina los valores de todas las columnas que no forman parte de la clave de ordenación.

Cláusulas de consulta

Al crear una tabla CoalescingMergeTree, se requieren las mismas cláusulas que al crear una tabla MergeTree.

Ejemplo de uso

Considere la siguiente tabla:
Inserta datos en ella:
El resultado será así:
Consulta recomendada para obtener el resultado correcto y definitivo:
Usar el modificador FINAL obliga a ClickHouse a aplicar la lógica de fusión en tiempo de consulta, lo que garantiza que obtengas el valor “más reciente” correcto y consolidado para cada columna. Este es el método más seguro y preciso al consultar una tabla CoalescingMergeTree.
Un enfoque con GROUP BY puede devolver resultados incorrectos si las partes subyacentes no se han fusionado por completo.

Agregación de elementos de Tuple

Cuando la configuración allow_tuple_element_aggregation está habilitada, las columnas Tuple se aplanan de forma recursiva para que cada elemento hoja participe en la coalescencia de manera independiente. Esto permite almacenar varios campos en una sola columna Tuple y que se coaleszcan por elemento durante las fusiones; cada subcolumna Nullable conserva de manera independiente el valor distinto de NULL más reciente. A las subcolumnas aplanadas se les aplican las mismas reglas que a las columnas normales:
  • Las subcolumnas que pertenecen a un Tuple de la clave de ordenación o de la clave de partición se excluyen de la coalescencia.
  • Si se especifica columns, solo se coalescen las subcolumnas de las columnas Tuple incluidas en la lista.
Esta configuración es inmutable y debe especificarse al crear la tabla.
Última modificación el 23 de julio de 2026