IN CONDITION FOR INDEX ist eine Suchstrategie des SQL-Optimierers.
Diese Suchstrategie kann in der folgenden Situation gewählt werden: Für die ersten k-1 Spalten des Index sind Gleichheitsbedingungen angegeben und für die k-te Indexspalte wurde eine IN-Bedingung definiert (1 <= k < n, n ist die Anzahl der Indexspalten).
Insbesondere wird diese Suchstrategie auch gewählt, wenn die erste Indexspalte mit einer IN-Bedingung angegeben wird.
Die einzelnen Werte einer IN-Bedingung werden bei dieser Suchstrategie als Gleichheitsbedingung abgearbeitet.
Mit Hilfe der Invertierungslisten wird direkt auf die entsprechenden Tabellenzeilen zugegriffen.
Es wird eine Zwischenergebnismenge aufgebaut.
Liegen die Werte in der IN-Bedingung dicht beieinander oder sind sehr viele Werte angegeben, kann es günstiger sein, anstelle der Gleichheitsbedingung eine Bereichsbedingung zu nutzen.
Es können mehrere IN-Bedingungen auf einem Index berücksichtigt werden. Hierbei ist zu beachten, dass die zweite IN-Bedingung nur mit einem Bereich abgearbeitet wird.
Siehe auch: