Database Reference
In-Depth Information
14
Stored Outlines, SQL Profiles. Bedeutung,
SQL Plan Baselines. Unterschiede,
Zusammenhänge
Alle 3 Features aus dem obigen Titel gehören zu den mächtigen Methoden des Perfor-
mance Tuning. 2 davon (Stored Outlines und SQL Plan Baselines) dienen dem Zweck der
Plan-Stabilisierung, wobei das Dritte (SQL Profiles) zum automatischen SQL-Tuning ge-
hört.
Leonid: „Peter, kennst Du diese Features?“
Peter: „Nicht alle. Ich weiß, dass die Stored Outlines die gespeicherten Hints beinhal-
ten, was deren Name auch verrät. Ein paar Mal habe ich dieses Feature benutzt, um einen
Ausführungsplan zu fixieren. In einem SQL Profile ist der Ausführungsplan abgespeichert,
welcher beim automatischen SQL-Tuning errechnet wird. Bei einer meiner problematischen
Datenbanken habe ich einige SQL Profiles erzeugt, um die Performanz der jeweiligen SQL-
Anweisungen zu erhöhen. Mit den SQL Plan Baselines habe ich ein Problem, ich weiß nicht
genau, was diese sind. Habe ich mit meiner Antwort stark daneben getroffen?“
L.: „Mit Stored Outlines hast Du vollkommen Recht: das sind in der Tat gespeicherte Out-
lines, die den jeweiligen Ausführungsplan fixieren sollen. Deine Antwort bezüglich der SQL
Profiles ist nur zur Hälfte richtig. Ein SQL Profile wird beim automatischen SQL-Tuning
generiert. Das ist die richtige Hälfte. SQL Profiles beinhalten aber keine Ausführungspläne,
sondern lediglich spezielle Optimizer-Statistiken. Wenn der Optimizer diese Statistiken an-
wendet, kommt er auf den beim automatischen SQL-Tuning errechneten Ausführungsplan.
Diesen Ausführungsplan muss man aber noch fixieren.“
P.: „Willst Du damit sagen, dass die Ausführungspläne, die ich mit meinen SQL Profiles
fixiert habe, sich eines Tages ändern können?“
L.: „Das kann ich nicht ausschließen, weil die speziellen Optimizer-Statistiken in einem
SQL Profile den jeweiligen Ausführungsplan nur kurzfristig fixieren können. Ändert sich et-
was im System (z. B. eine Parametereinstellung, die für den Optimizer relevant ist), kann das
zu einer Ausführungsplanänderung führen. Eine Änderung der konventionellen Optimizer-
Statistiken, die mit dem Package DBMS_STATS erstellt werden, kann das übrigens auch ver-
ursachen. Das jeweilige SQL Profile wird zwar weiterhin angewendet, der Ausführungsplan
ist aber nicht mehr derselbe.“
Search WWH ::




Custom Search