Skip to main content

Cuándo usarlo

Esto es útil cuando hay tablas que siguen convenciones de nomenclatura similares y tienen columnas parecidas, pero no están replicadas. Un ejemplo es buscar entradas en las tablas de registro de consultas de la base de datos del sistema. La tabla query_log no está replicada, y solo se registran las consultas que se ejecutan en un nodo específico. Los datos también pueden rotarse a otra tabla. Por ejemplo, los datos pueden insertarse en query_log_0, query_log_1, etc. Como cada nodo puede rotar en momentos distintos, resulta útil intentar encontrar los datos que buscamos en tablas que no tienen exactamente el mismo nombre. En esencia, necesitamos hacer algo como esto, pero con la sintaxis de ClickHouse: SELECT column1, column2 FROM my_db.my_table_* Para ello, podemos usar clusterAllReplicas() para buscar en todos los nodos y la función de tabla merge() para poder usar un patrón de expresión regular al buscar en varias tablas. El siguiente ejemplo muestra cómo consultar todas las tablas con el prefijo query_log:
Ten en cuenta que las columnas que selecciones deben existir en cada una de las tablas consultadas; de lo contrario, podrías encontrarte con un error como:
Como alternativa, puedes usar la cláusula EXCEPT para excluir cualquier columna que pueda no estar presente en distintas tablas. ejemplo:
Última modificación el 3 de julio de 2026