Servus.
Ich habe ein Probelm mit der Ausfürzeit einer bzw. mehrerer Abfragen.
Ich will mir eine Gaussverteilung graphisch erzeugen (Temperaturverteilung). Dafür unterteile ich mir einen Bereich (der der angezeigt werden soll), in 80 Klassen.
Beispiel:
0 - 2 Grad Celcius
Klasse 1 geht dann von 0.000 - 0.025
Klasse 2 geht dann von 0.025 - 0.050
usw.
Meine Abfrage sieht wie folgt aus (um Counts der jeweiligen Klassen zu bekommen):
SQL-Code:
SELECT COUNT(dbo.V_MEASURE.IST_WERT)
FROM dbo.V_MEASURE
WHERE dbo.V_MEASURE.PRUEFID IN
(
SELECT dbo.V_MEASURE.PRUEFID FROM dbo.V_MEASURE
where dbo.V_MEASURE.AUFTRAG = '1291626-92' AND
dbo.V_MEASURE.MW_NAME = 'Kriterium' AND
(dbo.V_MEASURE.IST_WERT >= (dbo.V_MEASURE.SOLL_WERT - 0.05)) AND
(dbo.V_MEASURE.IST_WERT <= (dbo.V_MEASURE.SOLL_WERT + 0.05))
)
AND dbo.V_MEASURE.MW_NAME = 'Temperatur T1'
AND dbo.V_MEASURE.IST_WERT >= (0.000)
AND dbo.V_MEASURE.IST_WERT <= (0.025)
In der Datenbank sind sehr viele Messwerte (ca. 1 Millionen). Jeder Prüfling (für den die Messwerte anfallen) hat unterschiedliche Messwerte. In der Abfrage ist das z.B. "Kriterium", nach dem in der Abfrage mit einem Subselect vorselektiert wird.
An sich funktioniert alles super nur die Abfragezeit ist höllisch lange. Es muss ja für den Graphen 80 Mal diese Abfrage in der großen Datenbank ausgeführt werden (insgesamt dauert das dann ca. 2 Minuten).
Mache ich da etwas falsch, oder muss ich mich damit abfinden? Hat jemand von euch schonmal diesbezüglich eine Gaussverteilung erstellt? Wenn ja wie?
Danke für Eure Mühe