• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为快捷显示Oracle执行计划创建存储过程

mysql 搞代码 4年前 (2022-01-09) 24次浏览 已收录 0个评论

为快捷显示Oracle执行计划创建存储过程 第一种:不设置输出格式参数,即用默认的 SQLgt; create or replace procedure sql_expl

为快捷显示Oracle执行计划创建存储过程

第一种:不设置输出格式参数,,即用默认的

SQL> create or replace procedure sql_explain(v_sql varchar2)
2 is
3 type explain_cursor_type is ref cursor;
4 explain_cursor explain_cursor_type;
5 a varchar2(2048);
6 begin
7 execute immediate ‘explain plan for ‘||v_sql;
8 open explain_cursor for select PLAN_TABLE_OUTPUT from table(dbms_xplan.display());
9 loop
10 本文来源gao($daima.com搞@代@#码(网5 fetch explain_cursor into a;
11 exit when explain_cursor%NOTFOUND;
12 dbms_output.put_line(a);
13 end loop;
14 end;
15 /

Procedure created.
SQL> exec sql_explain(‘select a.name,b.name from t1 a,t2 b where a.id=b.id and a.id=1’);
Plan hash value: 2680223496
————————————————————————————–
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
————————————————————————————–
| 0 | SELECT STATEMENT | | 1 | 17 | 4 (0)| 00:00:01 |
| 1 | NESTED LOOPS | | 1 | 17 | 4 (0)| 00:00:01 |
| 2 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 8 | 1 (0)| 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | T1_PK | 1 | | 0 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL | T2 | 1 | 9 | 3 (0)| 00:00:01 |
————————————————————————————–
Predicate Information (identified by operation id):
—————————————————
3 – access(“A”.”ID”=1)
4 – filter(“B”.”ID”=1)

PL/SQL procedure successfully completed.

SQL> exec sql_explain(‘select a.name,b.name from t1 a,t2 b where a.id=b.id and a.id=”1”’);
Plan hash value: 2680223496
————————————————————————————–
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
————————————————————————————–
| 0 | SELECT STATEMENT | | 1 | 17 | 4 (0)| 00:00:01 |
| 1 | NESTED LOOPS | | 1 | 17 | 4 (0)| 00:00:01 |
| 2 | TABLE ACCESS BY INDEX ROWID| T1 | 1 | 8 | 1 (0)| 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | T1_PK | 1 | | 0 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL | T2 | 1 | 9 | 3 (0)| 00:00:01 |
————————————————————————————–
Predicate Information (identified by operation id):
—————————————————
3 – access(“A”.”ID”=1)
4 – filter(“B”.”ID”=1)

PL/SQL procedure successfully completed.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为快捷显示Oracle执行计划创建存储过程
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址