SimpleAggregateFunction 

SimpleAggregateFunction(name, types_of_arguments…) le type de données stocke la valeur actuelle de la fonction d'agrégat et ne stocke pas son état complet comme AggregateFunction faire. Cette optimisation peut être appliquée aux fonctions pour lesquelles la propriété suivante est conservée: le résultat de l'application d'une fonction f pour un ensemble de lignes S1 UNION ALL S2 peut être obtenu en appliquant f pour les parties de la ligne définie séparément, puis à nouveau l'application f pour les résultats: f(S1 UNION ALL S2) = f(f(S1) UNION ALL f(S2)). Cette propriété garantit que les résultats d'agrégation partielle sont suffisants pour calculer le combiné, de sorte que nous n'avons pas à stocker et traiter de données supplémentaires.

Les fonctions d'agrégation suivantes sont prises en charge:

Les valeurs de la SimpleAggregateFunction(func, Type) regarder et stockées de la même manière que Type, de sorte que vous n'avez pas besoin d'appliquer des fonctions avec -Merge/-State suffixe. SimpleAggregateFunction a de meilleures performances que AggregateFunction avec la même fonction d'agrégation.

Paramètre

  • Nom de la fonction d'agrégation.
  • Types des arguments de la fonction d'agrégation.

Exemple

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

Article Original

Rating: 1.1 - 7 votes

Was this content helpful?
★☆☆☆☆