Ich habe die Group/Agg Abfrage in eine eigene Funktion ausgelagert.
Diese Funktion nutze ich in der View.
Das ist vielleicht problematisch, aber wenn es auf x schnell ist und auf y langsam, ist es wohl nicht das Kernproblem.
Allerdings, wenn bei so wenig Datensätzen schon so lange Laufzeiten entstehen, ist die Umsetzung dieser Funktion oder die Integration in den View vielleicht auch nicht sehr gelungen.
in der Funktion steht nur eine Einfache Select mit der Group Anweisung es wird ein Parameter übergeben.
Wenn ich das ganze direkt in der View einbinde ist das Problem auch identisch.
SQL-Code:
Select ..., ..., (select sum(wert) from TableB where TableA_ID = a.ID Group by TableA_ID) as wertgesamt from TableA as a
ist identisch mit
Select ..., ..., datenbankname.Funktion(ID) as wertgesamt from TableA