SQL Datenbanken können einen Index auf zwei verschiedene Arten benutzen um die where
-Klausel (die Prädikate) anzuwenden:
Als Zugriffsprädikat („access predicate“)
Die Zugriffsprädikate bestimmen den Anfangs- und Endpunkt beim Durchwandern der Indexblätter.
Als Filterprädikat („filter predicate“)
Die Filterprädikate werden während dem durchwandern der Indexblätter angewandt, sie haben aber keinen Einfluss auf die Start- und Stopp-Bedingungen. Ein Filterprädikat kann den durchsuchten Indexbereich daher nicht schmälern.
Wichtig
Zugriffs- und Filterprädikate sind Eigenschaften von einzelnen Schritten eines Ausführungsplanes. Es sind keine Indexattribute.
Das bedeutet, dass verschiedenen where
-Klauseln zu verschiedenen Zugriffs- bzw. Filterprädikaten am selben Index führen können.
Links
Index Zugriffs- und Filterprädikate an einem Beispiel erklärt
Die Auswirkungen von unbeabsichtigten Index-Filterprädikaten
Warum „egal wo“
LIKE
-Suchen nicht als Zugriffsprädikat taugenIndex-Filterprädikate in Oracle, PostgreSQL und SQL Server Ausführungsplänen erkennen.