Database Reference
In-Depth Information
Da man normalerweise die Query-Transformationen und die Query-Optimierungen in
dem jeweiligen Ausführungsplan erkennen kann, kann die Analyse des Ausführungsplans
mit den Laufzeitstatistiken bei den Problemen mit „wrong results“ sehr hilfreich sein.
Solch eine Analyse ist sehr ähnlich der Analyse des Ausführungsplans beim SQL-Tuning
(s. im Abschn. 18.4.2). Findet man einen Schritt im jeweiligen Ausführungsplan, der die
fehlerhaften Ergebnisse liefert (oft eine falsche Kardinalität, i.e. die Anzahl der Sätze in der
Treffermenge), bringt es einen oft auf die hilfreiche Idee, welche Query-Optimierung oder
Query-Transformation das Problem verursacht hat.
Wenn man die jeweilige Optimierung bzw. Transformation außer Kraft setzt, kommt
man auf das richtige Ergebnis. Die meisten Query Optimierungen wie auch die einzelnen
Query-Transformationen kann man mit einem versteckten Parameter abstellen. Mit dem
Skript db_parameter8i.sql kann man alle Parameter und deren Beschreibungen ermit-
teln, um auf die jeweiligen Parameter zu kommen (dieses Skript ist eine Modifikation des
Skripts parameters.sql von S.Adams [14]). Für das Ausschalten aller Query-Transforma-
tionen kann man das Hint NO_QUERY_TRANSFORMATION benutzen. Wenn Sie die
Ursache der falschen Ergebnisse entdeckt haben, können Sie nach ihrem Problem unter
den bekannten in MOS suchen, da Sie das Problem verstanden haben und die richtigen
Suchkriterien anwenden können. Falls Sie dort nichts finden, können Sie einen kleinen
Test-Case zusammenbauen und an den Oracle Support senden, um dieses Problem im
Rahmen eines Service Request weiter zu klären und möglicherweise einen Bug zu diesem
Problem eröffnen zu lassen. Diese Vorgehensweise, wenn sie auch zunächst etwas kompli-
ziert scheint, ist in der Praxis meistens ziemlich einfach. Ein paar praktische Beispiele in
diesem Kapitel können Sie hoffentlich davon überzeugen.
Der Verzicht auf eine Optimierung als Workaround für die „wrong results“ kann the-
oretisch die Performanz etwas verschlechtern. Auch hier sind Sie als Spezialist für Perfor-
mance Tuning imstande zu beurteilen, in wie weit das die Anwendung beeinträchtigen
kann. Die Einzelheiten zu einigen Query-Optimierungen und Transformationen können
Sie in [15], [16], [17] finden.
Die Methode mit den kleinen Test-Cases, die man oft bei der Analyse der falschen Er-
gebnisse einsetzt, kann das Performance Tuning auch bereichern. Die Modellierungsme-
thode aus dem Abschn. 18.5.2 ist nichts anderes als die Anwendung der Test-Cases für das
Remote-SQL-Tuning.
Search WWH ::




Custom Search