Ho dati che sono una matrice di valori interi che indicano una curva di distribuzione a bande. Sto ottimizzando le prestazioni SELECT sulle prestazioni INSERT. Ci sono max 100 bande. Principalmente interrogherò questi dati sommando o facendo una media delle bande in un periodo di tempo.La denormalizzazione di righe su colonne migliora le prestazioni in SQL Server?
La mia domanda è possibile raggiungere prestazioni migliori appiattendo questi dati su una tabella con 1 colonna per ogni banda o utilizzando una singola colonna che rappresenta il valore della banda?
dati appiattiti
UserId ActivityId DateValue Band1 Band2 Band3....Band100
10001 10002 1/1/2013 1 5 100 200
o normalizzata
UserId ActivityId DateValue Band BandValue
10001 10002 1/1/2013 1 1
10001 10002 1/1/2013 2 5
10001 10002 1/1/2013 3 100
interrogazione Esempio
SELECT AVG(Band1), AVG(Band2), AVG(Band3)...AVG(Band100)
FROM ActivityBands
GROUP BY UserId
WHERE DateValue > '1/1/2012' AND DateValue < '1/1/2013'