Qualcuno può spiegarmi qual è la differenza tra piano di esecuzione e piano di spiegazione.differenza tra spiegare piano e piano di esecuzione
Quando eseguo
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 |
--------------------------------------------------------------------------------------
io sono sempre la stessa uscita, quindi qual è la differenza tra i due.
: Sì, ho usato il sopra citato menthod per generare il piano di spiegare e di esecuzione piano .Ma non so perché la gente a volte chiedono di spiegare piano e, a volte piano di esecuzione? –
@GauravSoni: è solo una formulazione. Quando chiedono il "piano di esecuzione" si concentrano sull'output. Quando si usa il termine "spiegare il piano" si concentrano su come eseguirlo (di solito la domanda sarà "mostraci l'output ** ** del piano di spiegazione) –
@a_horse_with_no_name puoi spiegare esattamente come dovrei interpretare il tavolo al parte inferiore del piano di esecuzione? – Songo