## Sequentielle Suche

Grundsätzlich kann jede Suche sequentiell, also Zeile für Zeile, durch die gesamte Tabelle erfolgen, d.h. die einfachste Suchstragie des SQL-Optimierers ist die sequentielle Suche. Diese Suchstrategie wird in folgenden Fällen gewählt:

● Es ist keine Suchbedingung angegeben.

● Weder für Schlüsselspalten noch für indizierte Spalten ist eine Suchbedingung angegeben.

Falls die möglichen nicht-sequentiellen Suchstrategien des SQL-Optimierers aufwändiger wären als die sequentielle Suche, wird die Tabelle sequentiell abgearbeitet.

### Beispiele

Die bei den Erläuterungen zum SQL-Optimierer verwendeten Beispiele stützen sich auf die Demo-Datenbank DEMODB und ihre vollständigen Demo-Daten im Schema HOTEL.

Konzepte des Datenbanksystems, Objekte im Schema HOTEL

SELECT * FROM hotel.city

Qualifikation: keine
Primärschlüssel der Tabelle CITY: zip
Indizes über qualifizierte Spalten: keine
genutzte Suchstrategie: TABLE SCAN

Es ist keine Suchbedingung (Qualifikation) angegeben.

Ergebnis der EXPLAIN-Anweisung

TABLENAME | COLUMN_OR_INDEX | STRATEGY | PAGECOUNT
CITY |  | TABLE SCAN | 11
|  | RESULT IS NOT COPIED, COSTVALUE IS | 11

SELECT * FROM hotel.city
WHERE name = 'Oxford'

Qualifikation: WHERE name = 'Oxford'
Primärschlüssel der Tabelle CITY: zip
Indizes über qualifizierte Spalten: keine
genutzte Suchstrategie: TABLE SCAN

Die Suchbedingung ist nicht über die Primärschlüsselspalte angegeben.

Ergebnis der EXPLAIN-Anweisung

TABLENAME | COLUMN_OR_INDEX | STRATEGY | PAGECOUNT
CITY |  | TABLE SCAN | 11
|  | RESULT IS NOT COPIED, COSTVALUE IS | 11

Weitere einfache Beispiel-SQL-Anweisungen finden Sie im SQL-Tutorial.

Siehe auch:

EXPLAIN-Anweisung

Suchbedingungen für Schlüsselspalten

Suchbedingungen für indizierte Spalten

Liste aller Suchstrategien