Datenbankabfrageoptimierer: Die Kluft zwischen Ideal und Realität

2025-07-04

Datenbankabfrageoptimierer sollen den optimalen Abfrageplan auswählen, aber ihre Abhängigkeit von Kostenabschätzungen, die wiederum von der Selektivität und den Kosten grundlegender Ressourcen (E/A, CPU usw.) abhängen, führt oft zu Fehlern. Experimente zeigen, dass bei einfachen SELECT-Abfragen die Genauigkeit der Planauswahl des Optimierers stark von der Datenverteilung abhängt. Bei gleichmäßigen Datensätzen übertreffen Bitmap-Scans in der Regel Index-Scans; bei anderen Verteilungen neigt der Optimierer jedoch eher dazu, suboptimale Index-Scans auszuwählen. Dies zeigt, dass selbst bei einfachen Abfragen das Kostenmodell des Optimierers Schwierigkeiten hat, sich perfekt an verschiedene Datenverteilungen und Hardwareumgebungen anzupassen. Obwohl die kostenbasierte Planung der beste verfügbare Ansatz ist, stellt die Verbesserung ihrer Robustheit und Anpassungsfähigkeit eine erhebliche Herausforderung dar.

Entwicklung