Aggregati definiti dall'utente

Un aggregato definito dall'utente (UDA) è un codice fornito dall'utente che implementa le varie fasi della valutazione degli aggregati, come l'inizializzazione, l'accumulo e la fusione, nel sistema.

Le UDA forniscono nuovi tipi di funzioni di aggregazione che non sono attualmente disponibili con gli aggregati incorporati, come 'count(), 'sum(), 'avg(), 'max() o 'min(). Le UDA possono accettare più argomenti, ma sono anche scalari e producono un unico valore di uscita. È possibile utilizzare le UDA in un'istruzione SQL ovunque sia possibile utilizzare un aggregato incorporato come aggregato generale, raggruppato o a finestre.

È possibile controllare se un'UDA è consentita in una query aggregata raggruppata o in una query aggregata a finestra (analitica), o in entrambi i tipi, quando si definisce l'UDA. La restrizione è un'ottimizzazione delle prestazioni; limitando un aggregato ai soli aggregati raggruppati, ad esempio, Netezza Performance Server non consente agli utenti di includere l'aggregato in una query aggregata analitica (a finestre). Può trattarsi della progettazione dell'UDA stessa o di un'ottimizzazione delle prestazioni per controllare l'impatto della memoria sul sistema Netezza Performance Server. Se un aggregato è definito come QUALSIASI tipo, può essere utilizzato in entrambi i tipi di aggregazione. Per ulteriori informazioni sugli aggregati a finestra e raggruppati e sulle implicazioni in termini di prestazioni degli aggregati a finestra, consultare la IBM® Netezza® Database User's Guide.