Einzelnen Beitrag anzeigen

EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#21

AW: Abfrage mit Summe optimieren

  Alt 28. Aug 2014, 08:48
@jobo
Das verschachtelte Select funktioniert auch sehr gut.
Ich dachte nur das es vielleicht auch direkt mit der Over Funktion klappt.
Mit UNBOUNDED PRECEDING habe ich schon alles versucht was ich in der Dokumentation dazu gefunden habe.
Und, es Stimmt, eigentlich ist es egal da ich es für 2005 nicht nutzen kann.
Aber es interessiert mich doch sehr, wieviel performanter man es in neuren Versionen lösen kann.

@Dejan Vu
Das Subselecct habe ich ja schon getestet.
Der Optimizer funktioniert da wirklich super.
folgende Abfrage benötigt nur noch 22ms
SQL-Code:
Select * from(
select lfd, wert,
SUM(wert) OVER(ORDER BY lfd
     ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
          AS Summe
  FROM Table1) as tbl1 where (tbl1.lfd > 20920)
und das bei über 22000 Datensätzen.
Ich denke noch schneller geht es kaum.

Das Subselect ist nur unbedeutend langsamer.
Ich wollte nur die Abfrage möglichst optimieren und die OVER Funktion richtig verstehen und auch nutzen.
  Mit Zitat antworten Zitat