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.

Bei unseren Schlulungs-, Tuning-, und
Literaturangeboten ist für jeden was dabei

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

Photo of Markus Winand
Markus Winand stimmt Entwickler auf SQL-Performance ein. Er hat das Buch SQL Performance Explained veröffentlicht und bietet inhouse Schulungen sowie Tuning-Leistungen auf http://winand.at/ an.