Sargable Prädikate für SQL Server schreiben
Ein Index hilft nicht, wenn ein Prädikat seine Spalte in einer Funktion oder Berechnung versteckt. SQL Server muss dann oft alle Kandidaten scannen.
Sargable Prädikate für SQL Server schreiben
Ein Index hilft nicht, wenn ein Prädikat seine Spalte in einer Funktion oder Berechnung versteckt. SQL Server muss dann oft alle Kandidaten scannen.
Was gemessen werden sollte
Prüfen Sie Seek- und Residual-Prädikate, logische Lesevorgänge, Schätzungen und Ausdrücke auf indizierten Spalten. Datumsfunktionen, führende Wildcards, Arithmetik und Nullfunktionen sind häufig.
Praktisches Vorgehen
Formulieren Sie Datumsfilter als halboffene Bereiche, verschieben Sie Berechnungen auf Konstanten oder Parameter, nutzen Sie bei stabilen Ausdrücken persistierte berechnete Spalten und richten Sie zusammengesetzte Indizes aus.
Was vermieden werden sollte
Fügen Sie nicht vor der Umschreibung einen weiteren Index hinzu, verwenden Sie BETWEEN bei datetime nicht sorglos und halten Sie nicht jeden Seek für effizient.
Betriebliches Ergebnis
Sargability liefert dem Optimierer einen durchsuchbaren Bereich und reduziert Arbeit oft besser als ein Hint.
Checkliste für die Produktion
Erfassen Sie eine Ausgangsbasis und definieren Sie die erwartete Verbesserung. Testen Sie mit repräsentativen Daten und realistischer Parallelität. Sichern Sie die ursprüngliche Einstellung oder den Plan, bereiten Sie einen Rollback vor und überwachen Sie die nächste normale Lastspitze.
Wenn Sie diese Methode auf eine konkrete SQL-Server-Umgebung anwenden möchten, nutzen Sie das Frageformular unten und nennen Sie SQL-Server-Version, Datenbankgröße, Lastprofil und bereits erfasste Nachweise.