2012-05-13 8 views
13

Kann mir jemand erklären, was ist der Unterschied zwischen Ausführungsplan und Plan erklären.Unterschied zwischen EXPLAIN Plan und Ausführungsplan

Wenn ich

ausführen
set autotrace traceonly; 
select * from emp where empno=7369; 

Execution Plan 
---------------------------------------------------------- 
    0  SELECT STATEMENT Optimizer Mode=ALL_ROWS (Cost=1 Card=1 Bytes=38) 
    1 0 TABLE ACCESS BY INDEX ROWID SCOTT.EMP (Cost=1 Card=1 Bytes=38) 
    2 1  INDEX UNIQUE SCAN SCOTT.PK_EMP (Cost=0 Card=1) 


Explain Plan 

explain plan for select * from emp where empno=7369; 
select * from table(dbms_xplan.display); 

Plan hash value: 2949544139 

-------------------------------------------------------------------------------------- 
| Id | Operation     | Name | Rows | Bytes | Cost (%CPU)| Time  | 
-------------------------------------------------------------------------------------- 
| 0 | SELECT STATEMENT   |  |  1 | 38 |  1 (0)| 00:00:01 | 
| 1 | TABLE ACCESS BY INDEX ROWID| EMP |  1 | 38 |  1 (0)| 00:00:01 | 
|* 2 | INDEX UNIQUE SCAN   | PK_EMP |  1 |  |  0 (0)| 00:00:01 | 
-------------------------------------------------------------------------------------- 

ich die gleiche Leistung bin immer, so was ist der Unterschied zwischen den beiden.

Antwort

9

explain plan ist die Anweisung, die zum Anzeigen des Ausführungsplans verwendet wird.

Die zwei Beispiele, die Sie gezeigt haben, sind nur anders formatiert, das ist alles.

Sie haben uns nicht gesagt, wie genau Sie diese Ausgaben generiert haben und welches Werkzeug Sie nicht verwendet haben.

Aber if'm nicht irre, einer von ihnen ist der Ausgang eines autotrace innerhalb von SQL * Plus die den Ausgang andere, wenn von der Verfahren des dbms_xplan Paket.

+0

: Ja, ich habe den oben genannten menthod verwendet, um die erklärt Plan und Ausführungsplan zu generieren .Aber ich weiß nicht, warum die Leute manchmal für Plan erklären stellen und manchmal Ausführungsplan? –

+0

@GauravSoni: das ist nur Wortlaut. Wenn sie nach dem "Ausführungsplan" fragen, konzentrieren sie sich auf die Ausgabe. Bei der Verwendung des Begriffs "EXPLAIN Plan" konzentrieren sie sich darauf, wie sie ausgeführt wird (normalerweise lautet die Frage "zeige uns die ** Ausgabe ** des EXPLAIN Plans) –

+0

@a_horse_with_no_name kannst du bitte genau erklären, wie ich die Tabelle am interpretieren soll unten im Ausführungsplan? – Songo

Verwandte Themen