Der SQL-Optimierer kann den Datenzugriff nur für SQL-Anweisungen optimieren, die eine Suchbedingung enthalten. Eine Suchbedingung wird mit einer WHERE-Klausel definiert.
SELECT name FROM customer
WHERE cno = 7020
Für folgende SQL-Anweisungsarten können Sie eine Suchbedingung angeben: SELECT, UPDATE, DELETE, INSERT.
Für UPDATE-Anweisungen gelten Einschränkungen für Suchbedingungen.
Die Form der Suchbedingung hat wesentlichen Einfluss auf die Kosten, die bei der Ausführung der SQL-Anweisung entstehen. Der SQL-Optimierer berücksichtigt bei der Kostenermittlung für eine SQL-Anweisung nur die folgenden Suchbedingungen:
Wenn sich die Suchbedingungen in einer SQL-Anweisung nicht in eine der oben aufgeführten Formen umformen lassen, dann kann der SQL-Optimierer für sie keine Suchstrategie ermitteln und verwendet deshalb die sequentielle Suche.
Wenn Suchbedingungen durch mehrere gleiche Boolsche Operatoren verknüpft sind, dann hat ihre Reihenfolge keinen Einfluss auf die Ermittlung der Suchstrategie durch den SQL-Optimierer.
Siehe auch:
Arbeitsweise des SQL-Optimierers
SQL-Referenzhandbuch, Tabellenausdruck (table_expression)