SQL-Anweisungen spezifizieren nur, welche Resultate gewünscht sind. Sie enthalten keine Informationen darüber, wie das Datenbanksystem nach den Daten suchen soll. Um nach den in der SQL-Anweisung spezifizierten Daten zu suchen, hat das Datenbanksystem oft mehrere Möglichkeiten.
Der SQL-Optimierer hat die Aufgabe, die beste Suchstrategie für den Zugriff auf die Daten zu finden.
...
1. Ein Benutzer oder eine Datenbankanwendung schickt eine SQL-Anweisung mit einer Suchbedingung an die Datenbank.
2. Durch das Datenbanksystem erfolgt ein Automatisches Umformen der SQL-Anweisung.
3. Das Datenbanksystem startet den SQL-Optimierer.
4. Der SQL-Optimierer ermittelt alle Suchstrategien, mit denen das Datenbanksystem auf die in der SQL-Anweisung spezifizierten Daten zugreifen kann.
5. Der SQL-Optimierer ermittelt die Kosten für jede einzelne dieser Suchstrategien. Der SQL-Optimierer benötigt Statistiken, um die beste Strategie für das Abarbeiten komplexer SQL-Anweisungen zu bestimmen.
6. Der SQL-Optimierer wählt die Suchstrategie, die beim Ausführen der SQL-Anweisung die geringsten Kosten verursacht.
7. Das Datenbanksystem führt die SQL-Anweisung mit dieser Suchstrategie aus.
Siehe auch: