264
Kapitel 20
Verbessern der Abfrageleistung
SELECT
LNr AS 'Nummer'
,LDatum AS 'Datum'
FROM dbo.Lieferung
WHERE DATEDIFF(yy,LDatum,GETDATE())>= 4;
Im folgenden Beispiel wird die für eine bessere Suchleistung umgeschriebene
Abfrage angezeigt. Die Spalte wurde von der Funktion getrennt.
SELECT
LNr AS 'Nummer'
,LDatum AS 'Datum'
FROM dbo.Lieferung
WHERE LDatum <= DATEADD(yy,-4,GETDATE());
Ein weiterer Ansatz der Optimierung wäre das Vermeiden von temporären Ta-
bellen oder Tabellenvariablen. Hier stehen als Alternativen Tabellenausdrücke
und Fensterfunktionen zur Verfügung.
Datenbanksysteme sind für eine mengenorientierte Arbeitsweise von Haus aus
optimiert. Deswegen ist das Verwenden von Cursorn, die datensatzorientiert ar-
beiten, ...