wie generieren Sie erklären, plan für die gesamte gespeicherte Prozedur
Ich in der Regel generieren, die erklären, Pläne mit dem folgenden in sqlplus:
SET AUTOTRACE ON
SET TIMING ON
SET TRIMSPOOL ON
SET LINES 200
SPOOL filename.txt
SET AUTOTRACE TRACEONLY;
{query goes here}
SPOOL OFF
SET AUTOTRACE OFF
Aber was ist, Wenn ich generieren möchten, erklären plan für eine gespeicherte Prozedur?
Gibt es einen Weg zu erzeugen, erklären die Planung für die gesamte gespeicherte Prozedur? Die SP hat keine Eingabe - /Ausgabeparameter.
InformationsquelleAutor learn_plsql | 2010-12-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie generieren, richtig genannt eine "execution plan". "Explain plan" - Befehl wird verwendet, um zu erzeugen und anzeigen, die einen Ausführungsplan, wie AUTOTRACE TRACEONLY nicht in deinem Beispiel.
Durch definition, einen Ausführungsplan für eine SQL-Anweisung. Ein PL/SQL-block nicht haben einen Ausführungsplan. Wenn es enthält ein oder mehrere SQL-Anweisungen, dann wird jeder von denen wird ein Ausführungsplan.
Ist eine option, um manuell extrahieren Sie die SQL-Anweisungen aus der PL/SQL-code, und verwenden Sie den Prozess, haben Sie bereits gezeigt.
Andere Möglichkeit ist der aktive SQL-Ablaufverfolgung führen Sie dann die Prozedur. Dies erzeugt eine trace-Datei auf dem server, der enthält die Ausführungspläne für alle Anweisungen ausgeführt in der Sitzung. Die Spur ist in Recht roher form, so ist es in der Regel am einfachsten formatieren Sie Sie mit Oracle TKPROF-Werkzeug; es gibt auch verschiedene tools von Drittanbietern, die diese Prozess-trace-Dateien sowie.
InformationsquelleAutor Dave Costa
InformationsquelleAutor Panky031