Die erste Frage die sich einen zukünftigen Entwickler stellt, der SQL Tuning betreiben möchte, wie kann ich den Ausführungsplan mit anzeigen lassen und wie kann ich den Plan lesen, interpretieren und  verändern.

Fangen wir also an, das wir die Ausführungspläne für selbst erstellte Statements anschauen. Welche Bedingungen müssen erfüllt sein das man sie sehen kann.

Verweise

Notwendige Berechtigungen

Das ideale ist natürlich, wenn man die DBA-Rolle hat, dann kann sofort loslegen. Machen Wir es erstmal eine Nummer kleiner. Wir gehen davon aus das der Datenbanknutzer den Namen HR besitzt. das ist ein üblicher Datenbankbenutzer der in jeder Oracle- Datenbank mit Beispieldaten angelegt werden kann.Wir installieren erst einmal die Tabelle die für die Erstellung des Plan notwendig ist. Das Fragezeichen im Aufruf des Skriptes wird durch das ORACLE_HOME ersetzt.

Nachdem wir die Tabelle für die Ausführungstabelle angelegt habe, legenwir die notwendige Rolle als Administrator an.

Jezt vergeben wir die gerade angelegte Rollen an unseren HR Datenbanknutzer.

Ausfürungspläne anzeigen

Wir führen jetzt mehrmals hintereinander einen einfachen SELECT Befehl aus umd beobachtem die Ausgabe.

Wir sehen die “normale” Ausgabe aller Zeilen.

Jetzt verändern wir die Ausgabe indem wir den Befehl SET AUTOTRACE vorher eingeben.

Jezt sehen wir viel mehr,man kann die Ausgabe in drei Bereiche unterteilen.

1. Bereich Ausgabe des Ergebnis des SELECT (Zeile 4 – 9)

2. Bereich Ausgabe des Ausführungsplan des Statements (Zeile 12 – 21)

3. Bereich Ausgabe der Statistik für das Statement (Zeile 24 -36)

Diese Ausgabe ist sehr umfanreich und wird häufig nicht benötigt. Wenn man die Performance eines Statements einschätzen möchte, benötigt man nicht die Ausgabe der Ergebnismenge.

Wir minimieren die Ausgabe indem wir die Ergebnismenge ausschließen.

Jetzt sehen wir schöner weniger. Das Interesse liegt jetzt bei den Plan und die Statitik des Statements des Statements. 

Es gibt aber noch einen Nachteil das Statements wird jedesmal ausgeführt und erst wenn das Statement komplett ausgeführt wurde, wird alles angezeigt. Wenn man das Statement mehrmals varieren möchte, kann das schon eine Weile dauern.

Man kann also den Optimizer sagen, machen mir den Plan führe das Statement nicht aus. Dadurch kann sieht man den Plan sofort.

Jetzt sieht man nur den Ausführungsplan des Statements.

Was Beim probieren völlig ausreicht.

Wenn man den Ausführungsplan nicht sehen will, aber die Statistik kann man folgendes schreiben.

Will man zu normalen Ansicht zurück kommen, dann muss man SET autotrace OFF eingeben.

Wir man die einzelnen Anzeigen auswertet werden wir in den nächsten Beiträgen behandeln.