Ich habe Daten, die eine Matrix von ganzzahligen Werten ist, die eine gebänderte Verteilungskurve angeben. Ich optimiere die SELECT-Leistung gegenüber der INSERT-Leistung. Es gibt maximal 100 Bands. Ich werde in erster Linie diese Daten durch Summieren oder Mittelung von Bändern über einen Zeitraum hinweg abfragen.Verbessert die Denormalisierung von Zeilen in Spalten die Leistung in SQL Server?
Meine Frage ist kann ich erreichen bessere Leistung durch Abflachung dieser Daten über eine Tabelle mit 1 Spalte für jedes Band, oder mit einer einzigen Spalte, die den Bandwert darstellt?
Flattened Daten
UserId ActivityId DateValue Band1 Band2 Band3....Band100
10001 10002 1/1/2013 1 5 100 200
ODER Normalized
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
Beispielabfrage
SELECT AVG(Band1), AVG(Band2), AVG(Band3)...AVG(Band100)
FROM ActivityBands
GROUP BY UserId
WHERE DateValue > '1/1/2012' AND DateValue < '1/1/2013'