加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 如何为整个存储过程生成解释计划

发布时间:2020-12-12 16:23:39 所属栏目:百科 来源:网络整理
导读:我通常在sqlplus中使用以下代码生成解释计划: SET AUTOTRACE ONSET TIMING ONSET TRIMSPOOL ONSET LINES 200SPOOL filename.txtSET AUTOTRACE TRACEONLY;{query goes here}SPOOL OFFSET AUTOTRACE OFF 但是如果我想为存储过程生成解释计划呢? 有没有办法为
我通常在sqlplus中使用以下代码生成解释计划:
SET AUTOTRACE ON
SET TIMING ON
SET TRIMSPOOL ON
SET LINES 200
SPOOL filename.txt
SET AUTOTRACE TRACEONLY;

{query goes here}

SPOOL OFF
SET AUTOTRACE OFF

但是如果我想为存储过程生成解释计划呢?

有没有办法为整个存储过程生成解释计划? SP没有输入/输出参数.

您正在生成的内容被正确地称为“执行计划”. “解释计划”是用于生成和查看执行计划的命令,就像您的示例中的AUTOTRACE TRACEONLY一样.

根据定义,执行计划适用于单个SQL语句. PL / SQL块没有执行计划.如果它包含一个或多个SQL语句,那么每个语句都将具有执行计划.

一种选择是从PL / SQL代码手动提取SQL语句并使用您已经显示的过程.

另一种选择是激活SQL跟踪然后运行该过程.这将在服务器上生成一个跟踪文件,其中包含会话中执行的所有语句的执行计划.跟踪是相当原始的形式,因此通常最容易使用Oracle的TKPROF工具对其进行格式化;还有各种第三方工具可以处理这些跟踪文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读