SimpleAggregateFunction 

SimpleAggregateFunction(name, types_of_arguments…) tipo de datos almacena el valor actual de la función agregada, y no almacena su estado completo como AggregateFunction hacer. Esta optimización se puede aplicar a funciones para las que se contiene la siguiente propiedad: el resultado de aplicar una función f a un conjunto de filas S1 UNION ALL S2 se puede obtener aplicando f a partes de la fila establecida por separado, y luego aplicar de nuevo f los resultados: f(S1 UNION ALL S2) = f(f(S1) UNION ALL f(S2)). Esta propiedad garantiza que los resultados de agregación parcial son suficientes para calcular el combinado, por lo que no tenemos que almacenar y procesar ningún dato adicional.

Se admiten las siguientes funciones agregadas:

Valores de la SimpleAggregateFunction(func, Type) y almacenado de la misma manera que Type, por lo que no necesita aplicar funciones con -Merge/-State sufijos. SimpleAggregateFunction tiene un mejor rendimiento que AggregateFunction con la misma función de agregación.

Parámetros

  • Nombre de la función de agregado.
  • Tipos de los argumentos de la función agregada.

Ejemplo

CREATE TABLE t
(
    column1 SimpleAggregateFunction(sum, UInt64),
    column2 SimpleAggregateFunction(any, String)
) ENGINE = ...

Artículo Original

Rating: 1 - 1 votes

Was this content helpful?
★☆☆☆☆