von Markus Winand.

Oracle Aus­führungspläne erstellen


Um einen Ausführungsplan der Oracle Datenbank anzuzeigen, sind zwei Schritte nötig:

  1. EXPLAIN PLAN FOR — speichert den Ausführungsplan in der PLAN_TABLE.

  2. Formatieren und Anzeigen des gespeicherten Ausführungsplanes.

Oracle Ausführungspläne erstellen und speichern

Einen Ausführungsplan erstellt man, indem man der entsprechenden SQL-Anweisung explain plan for voranstellt:

EXPLAIN PLAN FOR select * from dual

Das Kommando explain plan for kann in jeder Entwicklungsumgebung (IDE) ausgeführt werden. Es gibt den Ausführungsplan aber nicht aus, sondern speichert ihn in der Tabelle PLAN_TABLE ab. Diese Tabelle ist ab Oracle Version 10g als globale temporäre Tabelle verfügbar. Bei älteren Versionen wird sie je Schema nach Bedarf angelegt. In diesem Fall sollte man seinen Datenbankadministrator bitten, die PLAN_TABLE anzulegen oder die entsprechende create table-Anweisung aus dem Installationsver­zeichnis der Oracle Datenbank zur Verfügung zu stellen:

$ORACLE_HOME/rdbms/admin/utlxplan.sql

Das Skript kann ohne besondere Berechtigungen in jedem Schema aus­geführt werden.

Oracle Ausführungspläne formatieren und anzeigen

Das Paket DMBS_XPLAN wurde mit Oracle Version 9iR2 eingeführt und kann einen Ausführungsplan aus der PLAN_TABLE formatieren und anzeigen. Das folgende Beispiel zeigt wie man den zuletzt erstellten Ausführungsplan der aktuellen Datenbanksession abruft:

select * from table(dbms_xplan.display)

Das Ergebnis wird wie aus dem Buch bekannt dargestellt.

--------------------------------------------------------------
| Id | Operation         | Name | Rows | Bytes | Cost (%CPU)|.
--------------------------------------------------------------
|  0 | SELECT STATEMENT  |      |    1 |     2 |     2   (0)|.
|  1 |  TABLE ACCESS FULL| DUAL |    1 |     2 |     2   (0)|.
--------------------------------------------------------------

Einige der angezeigten Spalten wurden im Buch zur besseren Lesbarkeit entfernt.

Über den Autor

Foto von Markus Winand

Markus Winand lehrt effizientes SQL – inhouse und online. Er minimiert die Entwicklungszeit durch modernes SQL und optimiert die Laufzeit durch schlaue Indizierung – dazu hat er auch das Buch SQL Performance Explained veröffentlicht.

Kaufen Sie sein Buch bei Amazon

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Bei Amazon kaufen
(Taschenbuch)

Taschenbuch und PDF auch auf Markus' Webseite erhältlich.

Holen Sie sich Markus

…für ein Training ins Büro.

Sein beliebtes Training stimmt Entwickler auf SQL Performance ein.

Erfahren Sie mehr»

„Use The Index, Luke!“ von Markus Winand ist unter einer Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License lizenziert.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz | CC-BY-NC-ND 3.0 Lizenz