Skip to main content
  1. Tecnologie_basi_datis/

Group_by

·148 words·1 min· ·
Tecnologie progettazione basi di dati - This article is part of a series.
Part 15: This Article

In caso di funzioni aggregate come

SELECT AVG(eta)
FROM Sommelier S

Tutti i record vengono scanditi e vengono mantenute informazioni aggiuntive

Funzione Informazione mantenuta
SUM totale dei valori stimati
AVG totale e numero di valori
MIN minimo dei valori
MAX massimo dei valori
COUNT numero dei valori

Group by
#

In caso di raggruppamenti come:

SELECT S.livello, MIN(età)
FROM Sommelier S
GROUP BY S.livello

È necessario partizionare i record e calcolare le funzioni di aggregazione per ogni record, ci sono 3 principali strategie:

Group by per mezzo di sorting
#

Una delle possibilità e quella di sfruttare tecniche di ordinamento come quelle viste per la proiezione , va sommato il costo di calcolo delle funzioni aggregate

Group by per mezzo di indici
#

In caso di indici sugli attributi di group by e di calcolo delle funzioni non e necessario accedere al file dati

💡 in caso di

href="/tecnologie_basi_dati/b+tree">b+tree se gli attributi di raggruppamento sono un prefisso della chiave si può utilizzare l’indice per accedere al file dati in maniera ordinata

Group by usando hashing
#

Si costruisce una tabella di hash in memoria centrale in maniera analoga al caso della proiezione

Matteo Longhi
Author
Matteo Longhi
I’m a software engineer with a passion for Music, food, dogs, videogames and open source software, i’m currently working as a devops engineer
Tecnologie progettazione basi di dati - This article is part of a series.
Part 15: This Article