Oracle
 sql >> Database >  >> RDS >> Oracle

come generare un piano di spiegazione per l'intera procedura memorizzata

Quello che stai generando è correttamente chiamato "piano di esecuzione". "Spiega piano" è un comando utilizzato per generare e visualizzare un piano di esecuzione, proprio come AUTOTRACE TRACEONLY nel tuo esempio.

Per definizione, un piano di esecuzione è per una singola istruzione SQL. Un blocco PL/SQL non dispone di un piano di esecuzione. Se contiene una o più istruzioni SQL, ognuna di queste avrà un piano di esecuzione.

Un'opzione è estrarre manualmente le istruzioni SQL dal codice PL/SQL e utilizzare il processo che hai già mostrato.

Un'altra opzione consiste nell'attivare la traccia SQL, quindi eseguire la procedura. Ciò produrrà un file di traccia sul server che contiene i piani di esecuzione per tutte le istruzioni eseguite nella sessione. La traccia è in una forma abbastanza grezza, quindi è generalmente più semplice formattarla utilizzando lo strumento TKPROF di Oracle; ci sono anche vari strumenti di terze parti che elaborano anche questi file di traccia.