Danke schon mal für die Anregungen.
Wie mir (partition over, rank, dense rank, rownumber, usw.) helfen sollen erschließt sich mir nicht.
Ich benötige ja die Summe der Werte und keine Zeilennummern
Ich habe es jetzt mit der Temporären Tabelle getestet und das funktioniert super.
Geschwindigkeit ist optimiert von 19008 ms zu 470ms
das nenne ich mal super optimiert
Vielen Dank
Eine Frage habe ich noch zur temporären Tabelle.
Kann ich die am Ende der SP einfach per DROP TABLE #tmp löschen?
Oder gibt das Probleme
So sieht die SP jetzt aus
Code:
create PROCEDURE [dbo].[SumTest](@LFDVar Int)
AS
BEGIN
declare @summe int
set @summe = 0
SELECT Wert, LFD, 0 as summe into #tmp from Table1 where (not (Wert is Null)) order by LFD
update #tmp
set summe = @summe
, @summe = @summe + wert
select t.wert, t.LFD, x.summe
from Table1 t
join #tmp x on t.LFD = x.LFD where t.LFD > @LfdVar order by t.LFD
DROP TABLE #tmp
END