Ich habe versucht, auf verschiedene Arten zu suchen, habe aber keine eindeutige Antwort auf meine Frage gefunden. This question beantwortet fast meine Abfrage, aber nicht ganz.Vorteile für Ansichten in gespeicherten Prozeduren
Neben den offensichtlichen Lesbarkeit Unterschiede, gibt es irgendwelche Vorteile eine Ansicht in einer gespeicherten Prozedur zu verwenden:
SELECT
*
FROM
view1
WHERE
view1.fdate > @start AND
view1.fdate <= @end
... über eine verknüpfte Tabelle Liste mit ...
SELECT
*
FROM
table1
INNER JOIN
table2
ON table1.pid = table2.fid
INNER JOIN
table3
ON table1.pid = table3.fid
WHERE
table1.fdate > @start AND
table1.fdate <= @end
. ..in einer preapred-Anweisung oder gespeicherten Prozedur?
Nun, einige Ansichten können indiziert werden, sodass in manchen Fällen indizierte Ansichten die Leistung verbessern können. Abgesehen davon, dass ich bezweifle, ob es einen wirklichen Unterschied gibt. Ich denke jedoch, dass DBA-Experten wahrscheinlich bessere Antworten finden können, also werde ich es als Kommentar hinterlassen. –
Vielen Dank für Ihre Eingabe, @ZoharPeled. Ich habe das bemerkt, aber wären die Indizes auf Tabellenebene nicht genauso nützlich (wenn die Tabelle von vornherein richtig indiziert wird)? – Paul
@Paul indizierte Sichten können Indizes erstellen, die von Tabellenindizes nicht gefunden werden können, z. Eine indizierte Sicht kann Aggregate enthalten. –