【问题标题】:obtaining an execution plan on stored procedure sqlplus获取存储过程 sqlplus 的执行计划
【发布时间】:2012-05-23 19:53:10
【问题描述】:

所以我对使用 sqlplus 和查看执行计划还很陌生。 我通常做的如下:

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

我知道这通常是针对简单/单独的 sql 语句执行的,而您不能对存储过程执行相同的操作。

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

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

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

【问题讨论】:

  • 您必须使用EXPLAIN PLAN 手动执行一个/一个语句,但不能为整个 SP 完成。

标签: sql oracle plsql sqlplus


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2022-10-05
    • 2010-10-05
    • 2010-10-22
    • 2015-09-01
    • 1970-01-01
    相关资源
    最近更新 更多