Um auf Daten zuzugreifen, kann der SQL-Optimierer des Datenbanksystems in der Regel mehrere unterschiedliche Strategien (Suchstrategien) anwenden.
Diese Suchstrategien unterscheiden sich u. a. in den Kosten, die bei ihrer Ausführung entstehen.
Die einfachste Suchstrategie ist die sequentielle Suche, bei der die gesamte Tabelle Zeile für Zeile durchsucht wird. Bei großen Datenmengen ist die sequentielle Suche aber auch häufig die aufwendigste Suchstrategie. Deshalb analysiert der SQL-Optimierer andere Suchstrategien, bei denen der zu durchsuchende Bereich der Tabelle kleiner ist.
Welche anderen Suchstrategien möglich sind, hängt von der Suchbedingung und dem Aufbau der jeweiligen SQL-Anweisung und vom Design der Datenbank (Primärschlüssel usw.) ab.
In dieser Dokumentation werden die folgenden Suchbedingungen und die sich daraus ergebenden Suchstrategien beschrieben:
● Suchbedingungen für Schlüsselspalten
● Suchbedingungen für indizierte Spalten
● Suchbedingungen für UPDATE-Anweisungen
● Mit OR verknüpfte Suchbedingungen
● Verlagerung der Suche auf den FETCH-Zeitpunkt
● Joins
Um herauszufinden, welche Suchstrategie der SQL-Optimierer für eine SQL-Anweisung auswählt, verwenden Sie die EXPLAIN-Anweisung.
Siehe auch:
Arbeitsweise des SQL-Optimierers
Konzepte des Datenbanksystems, Tipps zum Datenbankdesign