Dom Brooks zählt zu den Blog-Autoren, die sich am intensivsten mit Fragen der Stabilität von SQL-Ausführungsplänen beschäftigt haben. In Strategies for Minimising SQL Execution Plan Instability liefert er einen recht umfassenden historischen Überblick zur Entwicklung des Optimizers und jener Ergänzungen, die eingeführt wurden, um seine Informationsgrundlagen und Entscheidungsmöglichkeiten zu erweitern. Dabei gilt natürlich, dass die größere Flexibilität und die Einführung adaptiver Strategien dazu führen, dass die Stabilität der Optimizer-Entscheidungen geringer wird. Die grundlegende Frage dabei ist: "Do you want the Optimizer to try to get a better execution plan sometimes? If the answer is yes, then you have to accept that it will get it wrong from time to time." Um die Stabilität von Plänen wieder zu erhöhen, wurden im Laufe der Zeit diverse Hilfsmittel eingeführt, vor allem SPM (SQL Plan Management) in 11g, die es erlauben, die Planauswahl des Optimizers zu kontrollieren und der Autor erläutert ausführlich, welche Möglichkeiten in diesem Zusammenhang existieren und wo ihre Einschränkungen liegen. Insgesamt liefert der Artikel eine ziemlich vollständige Liste der im Rahmen der Fragestellung der Stabilität/Instabilität von Plänen relevanten Faktoren.
Keine Kommentare:
Kommentar veröffentlichen