Einzelnen Beitrag anzeigen

DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#1

Lange Wartezeit für Datenabfrage für Gauss-Graphen

  Alt 23. Aug 2009, 22:37
Datenbank: MS SQL • Version: 2000 • Zugriff über: ADO
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-92AND
        dbo.V_MEASURE.MW_NAME = 'KriteriumAND
       (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
  Mit Zitat antworten Zitat