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

hvordan man genererer en forklarende plan for hele lagret procedure

Det du genererer kaldes korrekt en "udførelsesplan". "Explain plan" er en kommando, der bruges til at generere og se en eksekveringsplan, ligesom AUTOTRACE TRACEONLY gør i dit eksempel.

Per definition er en eksekveringsplan for en enkelt SQL-sætning. En PL/SQL-blok har ikke en eksekveringsplan. Hvis den indeholder en eller flere SQL-sætninger, vil hver af dem have en eksekveringsplan.

En mulighed er manuelt at udtrække SQL-sætningerne fra PL/SQL-koden og bruge den proces, du allerede har vist.

En anden mulighed er at aktivere SQL-sporing og derefter køre proceduren. Dette vil producere en sporingsfil på serveren, der indeholder eksekveringsplanerne for alle udsagn, der udføres i sessionen. Sporet er i nogenlunde rå form, så det er generelt nemmest at formatere det ved hjælp af Oracles TKPROF-værktøj; der er også forskellige tredjepartsværktøjer, der også behandler disse sporingsfiler.



  1. vise data fra database til dropdown CodeIgniter

  2. Php - MySQL vælg data fra tabel, og opdater derefter den samme tabel

  3. Få datoer mellem to datoer

  4. MySQL sum, tæl med gruppe efter og joins