2012-08-03 15 views
10

Sto imparando sugli indici di database in questo momento, e sto cercando di capire l'efficienza di usarli.come posso vedere il piano di esecuzione

  • Mi piacerebbe vedere se una query specifica utilizza un indice.
  • Voglio effettivamente vedere la differenza tra l'esecuzione della query utilizzando un indice e senza utilizzare l'indice (quindi voglio vedere il piano di esecuzione per la mia query).

Sto usando sql +.

Come visualizzare il piano di esecuzione e dove posso trovare le informazioni che indicano se il mio indice è stato utilizzato o meno?

+2

http://docs.oracle.com/cd/B19306_01/server.102/b14211/ex_plan.htm – Ollie

risposta

21

Prova ad usare questo codice per spiegare prima e poi vedere il piano:

spiegare il piano:

explain plan 
for 
select * from table_name where ...; 

vedere il piano:

select * from table(dbms_xplan.display); 

Edit: rimosso lo staffe

+3

nota la parentesi i n la query principale non è necessaria – Craig

+0

ovviamente ... sembra buono in questo modo. Non è vero? –

+0

haha ​​.. sì .. Stavo solo dicendo per l'OP, nel caso in cui la loro richiesta sia ampia ed è un dolore che si aggiunge ai paren. – Craig

3

Dai uno sguardo allo Explain Plan. EXPLAIN funziona su molti tipi di database.

Per sqlPlus in particolare, vedere la funzione AUTO TRACE di sqlplus.

Problemi correlati