sql >> Databáze >  >> RDS >> Oracle

jak vygenerovat plán vysvětlení pro celou uloženou proceduru

To, co generujete, se správně nazývá „prováděcí plán“. "Explain plan" je příkaz používaný ke generování a zobrazení prováděcího plánu, stejně jako AUTOTRACE TRACEONLY ve vašem příkladu.

Podle definice je plán provádění pro jeden příkaz SQL. Blok PL/SQL nemá plán provádění. Pokud obsahuje jeden nebo více příkazů SQL, pak každý z nich bude mít plán provádění.

Jednou z možností je ručně extrahovat příkazy SQL z kódu PL/SQL a použít proces, který jste již ukázali.

Další možností je aktivovat trasování SQL a poté spustit proceduru. Tím se na serveru vytvoří trasovací soubor, který obsahuje plány provádění pro všechny příkazy provedené v relaci. Trasování je v poměrně nezpracované formě, takže je obecně nejsnazší jej naformátovat pomocí nástroje TKPROF společnosti Oracle; existují také různé nástroje třetích stran, které zpracovávají také tyto trasovací soubory.



  1. Správný způsob, jak přidat neuvedený text z pole do regulárního výrazu v postgresu?

  2. Přidáním hodnot 2 textových polí se zobrazí výsledek v jednom z nich

  3. Volání funkce Mysql

  4. Jaký je rozdíl mezi MySQLdb, mysqlclient a MySQL konektorem/Pythonem?