Anmelden

View Full Version : Wie dumm ist der SQL Optimiser eigendlich ..



Seiten : 1 [2]

Robi
12-03-18, 07:42
Moin,
da muß ich euch entäuschen ...
die Kiste ist eher überdimensioniert als zu klein / zu schwach. Wurde von einer sehr renomierten großen Firma gemacht. Und sie läuft sehr gut.

Nur wenn sie 4 Sätze sortieren muß, ist ihr das zu langweilig und sie sortiert ca 8.000.000

Sonst wäre dieser Thread nicht entstanden ...

Fuerchau
12-03-18, 15:33
Da kann ich auch nur zustimmen, dass der Optimizer da eher pessimistisch als optimistisch vorgeht.
Für die schnelle Abfrage ohne Order By wird mit Sicherheit ein Index existieren.
Für ein erstes Abschätzen wird dann die Index-Statistik (DSPFD) herangezogen. Hier ist im Wesentlichen die Anzahl der unterschiedlichen Schlüssel der Knoten vermerkt. Ab irgendeinem Prozentsatz wird der Index genommen oder eben nicht.
Kommt nun noch ein Order By dazu (ähnlich auch Group by) entscheidet dann bei fehlenden Indizes der Pessimizer dann auch gerne mal falsch und hält einen Tablescan für besser.

Allerdings muss ich auch dazu sagen, dass per STRSQL da durchaus anders optimiert wird (FIRSTIO) als z.B. bei embedded SQL oder auch ODBC (ALLIO).
Wobei ich die Optimize-Klausel da schon ausprobiert habe aber kein abweichendes Ergebnis zustande bekam.