Forum: Datenbanken
by jobo,
28. Aug 2014
Ich glaub das hatte er schon, ist zu langsam.
Daher meine Vermutung, große Datenmenge (hier dann als zwischenergebnis), das harmlose id>3 macht einen Fullscan auf dem Zwischenergebnis (das auf Platte liegt) usw usw. Aber eben vielleicht auch nur ein doofer Optimizer Pfad.
Forum: Datenbanken
by jobo,
28. Aug 2014
Gut, im Prinzip würde ich das mit einem verschachtelten Select machen, so wie Du es bereits probiert hast. Wenn das zu einem Performanceeinbruch führt, deutet das auf ein Optimizerproblem hin. Vlt kann man da mit hints arbeiten, die das System zwingen, schön brav erst innen, dann außen durchzuführen.
Kann aber auch sein, dass bei einer sehr großen Datenmenge, das innere Ergebnis so groß ist,...
Forum: Datenbanken
by jobo,
27. Aug 2014
Was brauchst Du denn jetzt, 2005 oder 2012?
Falls ich oben gemeint war, ich habe nie geschrieben, dass row_number die Lösung ist.
Es war lediglich eine Erläuterung, um die entsprechenden Funktionen (Window Funktions) zu finden und einzuordnen. Dass ich selber Zweifel hatte, ob die Window Function Implementierung in Version 2005 bereits ausreicht, das zu lösen, hab ich ja angedeutet.
In dem...
Forum: Datenbanken
by jobo,
27. Aug 2014
Das ist eine unvollständige Aufzählung der Windowfunktions unter 2005 server. Wenn sich da nichts erschließt ist es wohl Pech.
Forum: Datenbanken
by jobo,
27. Aug 2014
Du willst die Summe aller "vorigen" Werte?
Wenn man dieses Statement einfach in eine SP packt, wird es wahrscheinlich nicht wesentlich schneller. Dann müsste man in der SP die Werte mit einem eigenen Algo selber zusammenrechnen.
Oder
Seit 2005 gibt es Window Functions (partition over, rank, dense rank, rownumber, usw.)- ist vielleicht noch nicht optimal das Angebot in der Version-, damit...