Bei Dialogjobs können in 8 Stunden da schon mal 2 Minuten zusammenkommen.

Und was die "Optimierung" angeht so musst ich schon feststellen, dass das Programm je nach Datenmenge mal günstig oder ungünstig lief.
Laut Debug-Diagnose wurde der Zugriffsplan immer neu erstellt und somit der Weg immer neu kalkuliert.

Die "Extrakt"-Ziehung (das habe ich wirklich von Dieter gelernt), bringt dort mitunter gewaltige Vorteile, ins besonders wenn Derived Tables / CTE's mit GroupBy-Konstrukten gebaut und verjoint werden.
Hier ist die temporäre Tabelle mit Index gewaltig im Vorteil.