当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-18

    本文导语: 为快捷显示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  be...

为快捷显示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      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.


    
 
 

您可能感兴趣的文章:

  • 如何过滤系统用户只显示创建的用户?
  • 三个月没解决的问题!!vi创建的文件里,可以输入中文,但是无法显示?什么原因?
  • 哪位有使用XML创建可排序、分页的数据显示页面的例程?多多指教噢!
  • shell创建一个带参数的文件名,这个参数怎么不显示出来backup$BDATE.dump
  • 请问如何创建一个只有文本区的窗口,其周围的边框都不显示,谢谢!
  • 怎么样显示一个窗口创建的所有session变量?
  • 我用SQLite数据库创建了一个文件,为什么在ARM上查询出来的数字显示不正确呢?
  • Jquery创建层显示标题和内容且随鼠标移动而移动
  • 请问:不创建临时文件如何将内容为图片的InputStream显示到HTML页面中?
  • 一个比较低级的问题,关于文件存储与显示的,请高手解答
  • 编译内核时终端显示的信息,存储在哪
  • SQL_Server中存储的图象怎样用jsp显示出来
  • 数据库存储过程分页显示
  • 请教啦,如何把数据库中blob字段存储的图片在jsp页面中显示出来?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 数据库 iis7站长之家
  • 关于在QT环境下加载gif图片的问题(可以显示,但是只有使用终端启动可执行文件才能显示,双击执行却不显示)这是为什么?
  • 为什么执行的时候只是显示了2、3条记录。而1没有显示出来。如何才能把一也显示出来呢。
  • shell脚本执行echo显示参数问题
  • Jcreater问题,突然不显示执行效果是怎么回事?
  • shell脚本如何显示所执行的每一条命令
  • asp.net显示页面执行时间
  • 数据表中的内容包含回车换行符,如何显示内容时执行换行?
  • 怎样在DOS底下,执行一个网页连接,不需要显示!
  • 请问如何在桌面上新建一个文件(文件内容为执行一条命令,并显示一条相应的提示)
  • 如何修改一个新建用户登陆时的自动显示的字符串?以及如何限制这个用户可以执行的命令?
  • 我执行top命令,显示出来所有进程占内存都不超过1%,可是512M内存只剩30多M,为什么?
  • 请问在shell中如何在行尾显示"[确定]",就象执行过service httpd start那样
  • linux如何让命令执行后的错误提示信息显示为英文
  • 网页中链接可执行文件,不想显示文件下载对话框,想直接在当前位置运行该程序,怎么办?
  • SQLSERVER语句的执行时间显示的统计结果是什么意思
  • 请问 pathclass设置正确 语法正确 编译通过 但在执行时 显示"Exception in thread "main" java.lang.NoClassDefFoundError"…………不解
  • 奇怪,root下执行netstat -anp 怎么不显示pid和进程名啊?
  • 关于editplus的使用,编译完生成.class后,我又编写了html来执行applet,将其保存,如何经ie解释打开(直接在editplus上操作)不是显示html语言呀
  • 执行文件明明在却显示not found
  • 怎样编一个.bat文件,电脑一启动就执行呀(如显示HELLO,而不直接进入WIN)
  • 如何在windows下的DOS窗口中显示utf-8字符(CMD命令提示符终端显示utf-8字符)
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 关于Android平台:手机马达驱动提供给android的接口有哪些?
  • windows下cmd命令行显示UTF8字符设置(CHCP命令)
  • 我安装了个linux系统, 发现linux系统的显示器的显示有点小,于是我就在显示器上把大小调了一下,本想着这样会影响xp系统的显示效果,实际上没有应响xp的显示效果,这是为什么?
  • javascript eval换成document.write 显示原型
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 因无意删除一些文件,ubuntu系统无法启动,请求高手远程帮助
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 集群服务器下相同文件夹下文件同时更新[问题点数:100分]
  • Linux下用ntpdate同步时间及date显示设置时间
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu 安装mysql源码失败,好像是没有找到hostent_data的定义。急~~~~~~~~~~


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,