暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 存储过程的执行

askTom 2017-01-27
269

问题描述

亲爱的先生,
我想知道在资源消耗的情况下,存储过程或函数的完全执行需要花费多少时间。
Q2 >我可以知道存储过程中写的sql语句的执行路径吗?
我们如何检查索引是否已使用存储过程?
我怎么知道在oracle 11g数据库?

专家解答

没有任何东西可以自动跟踪此情况,但它易于实现,例如:

SQL> create or replace
  2  procedure MYPROC is
  3    s timestamp := localtimestamp;
  4    x int;
  5  begin
  6    select count(*)
  7    into   x
  8    from   dba_objects;
  9
 10    dbms_output.put_line('elapsed = '||(localtimestamp-s));
 11  end;
 12  /

Procedure created.

SQL>
SQL> set serverout on
SQL> exec myproc
elapsed = +000000000 00:00:00.122000000

PL/SQL procedure successfully completed.


退房https://github.com/OraOpenSource/Logger用于代码的检测层。

要跟踪SQL语句及其计划,可以使用AWR ,也可以检查V$SQLSTATS和/或V$SQLP ,但这是一个很大的主题。所以我们有一整本书

http://docs.oracle.com/database/121/TGSQL/toc.htm



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论