获取存储过程sqlplus的执行计划

时间:2012-05-23 19:53:11

标签: sql oracle plsql sqlplus

所以我对使用sqlplus并查看执行计划相当新。 我通常做的是以下内容:

set timing on;
set autotrace on;
"sql statement goes here"

我知道这通常是针对简单/ solo sql语句完成的,你不能对存储过程做同样的事情。

但我想知道我是否要从存储过程中取出所有sql语句并将它们放入脚本中并逐个运行。或者只是运行整个过程。有没有办法可以将每个执行计划记录到一个txt文件中,这样我就可以查看了。

或者有没有办法查看存储过程的执行计划?

非常感谢任何帮助或建议。谢谢

1 个答案:

答案 0 :(得分:0)

我没试过,但我想你可以。 DBMS_XPLAN.DISPLAY_CURSOR使用sql_id。您必须在程序中查找sql​​_id的DML语句,这可能有点痛苦,但我认为它们应该在缓存中保留足够长的时间。

如果您正在尝试分析PL / SQL块的性能,您可能还需要查看DBMS_PROFILER

相关问题