Kurzbeschreibung

Anfrageoptimierung ist ein weites Forschungsgebiet im Bereich der relationalen Datenbanksysteme. Bisherige Ansätze arbeiten entweder zur Compile-Zeit des Optimierers oder zur Ausführungszeit. Erstere können durch ungenaue Statistiken falsche Ergebnisse liefern, die die letzteren versuchen zu kompensieren. Diese Arbeit befasst sich mit einem an den Darwinismus angelehnten Optimierungsansatz, der davon ausgeht, dass die Statistiken fehlerhaft sind. Anhand der Struktur des Plans des Optimierers werden alternative Pläne ermittelt und gleichzeitig ausgeführt. Suboptimale Pläne werden früh erkannt, abgebrochen und bieten Informationsgewinn für die anderen Pläne. Der schnellste Plan wird schließlich zurückgegeben bzw. ausgeführt. Dieser Ansatz ist in dieser Arbeit implementiert als Prototyp namens JOSEV und anhand experimentell ermittelte Ergebnissen evaluiert.

Abstract

Query optimization is a vast research area in context of relational Databases. Established solutions work either at the optimizer’s compile time or at the query’s execution time. The former can produce wrong results by wrong statistics and the latter try to compensate these. This work presents an optimization approach inspired by Darwinism that is basing on the idea of faulty statistics. Using the structure of the optimizer’s execution plan alternative plans are searched and executed simultaneously. Suboptimal plans are detected early, aborted and provide informations for the other plans. The fastest plan is returned eventually. This approach is implemented as a prototype named JOSEV and is evaluated experimentally.

Mehr