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.

Hinweis in eigener Sache

Ich lebe von SQL-Schulungen, anderen SQL-Dienstleistungen und dem Verkauf meines Buches. Mehr dazu auf winand.at.

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 ist der SQL Renaissance Botschafter auf der Mission, Entwickler auf die Evolution von SQL im 21. Jahrhundert aufmerksam zu machen. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch bei Amazon kaufen

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.

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Nicht mit OFFSET blättern

Mehr info

Besuche meine Schwester-Seite!Seit SQL-92 hat sich einiges getan!

Die Use The Index, Luke! Tasse

Aufkleber, Bierdeckel, Bücher und Kaffeetassen. Alles was man beim Lernen braucht!

Zum Shop

Mit Markus Winand verbinden

Markus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf Twitter
„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 und DSGVO | CC-BY-NC-ND 3.0 Lizenz