- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
plsql查看执行计划
如何获取当前正在跑程序的执行计划 1获取当前程序执行SQL的SQL_ID,这有两种途径: a. SELECT_IDFROMGV$SESSIONTWHEREBACKGROUND AND=ACTIVEANDLIKE%MCA_APD_CHECK_PUBLIC_PKG%; b. 根据日志记录,定位到程序目前执行到哪一步,再提取这一步的SQL,根据SQL文本获取:SELECT*FROMGV$SQLTWHERE_TEXTLIKE%INSERTINTO OWR_AP_BALANCE_F%; 根据SQL_ID,在PLSQLDEVELOPER中执行下面的脚本,获得CLOB格式的执行计划,建议打开后粘贴到文本编辑器查看; SELECTDBMS__SQL_MONITOR(SQL_ID=3mf9uj08kxj30)FROMDUAL; 中所有的V$打头的视图都是动态视图,在运行时随时变化的,因此一个存储过程程序执行一段时间,SQL_ID可能在不断变化; 2.每个V$视图都有对应的GV$视图,多节点的环境下需要使用GV$,如果查看V$视图只能获取当前连接节点 的信息。 3.调用了DBMS__SQL_MONITOR获取的执行计划报告,最大的特点是包含了SQL当前执行状态的信息,即计划估算值和实际执行状态有个明显对比; SQLMONITOR生成执行计划报告的阅读要点: 1.从头到尾,依次是SQL文本信息,SQL总体执行信息,并行相关信息,执行计划; 2.执行计划中,ROW(Estim)列是计划估算值,rows(Actual)是实际执行值,两者差异太大就说明执行计划有严重偏差,可能需要优化; 3.执行计划的ActivityDetail(#samples),详细说明了每个步骤操作具体消耗,因为都是通过系统等待事件表示的,所以需要对等待事件有一定基础。 通过F5查看到的执行计划,其实是pl/sqldeveloper工具内部执行查询plan_table表然后格式化的结果。 select*fromplan_tablewherestatement_id=...。其中 Description列描述当前的数据库操作, Objectowner列表示对象所属用户, Objectname表示操作的对象, Cost列表示当前操作的代价,这个列基本上就是评价SQL语句的优劣,Cardinality列表示操作影响的行数, Bytes列表示字节数 之前作为一个OracleEmployee,却总是在使用PL/SQLDeveloper,这实在有些说不过去,但是如何找到一个合心趁手的能够在有条件的情况下比SQL*PLUS更方便的工具却实在不是一件简单的事情,以前期待tora被Quest收购以后会有长足发展,可惜,并没有看到最终的结果。 之前曾经说过,PL/SQLDeveloper对于我最难以割舍的是completioninsight功能,当你记不住表、性能视图或者存储过程、函数的全名,PL/SQLDeveloper将会在你输入了几个字母之后自动提示。TOAD发展了那么多年,却一直没有提供相类似的功能。 但是现在完全免费的替代产品出现了,这就是OracleSQLDeveloper,Oracle官方出品的开发工具,当然这个工具并不是今年才推出的,现在最新版本已经是 ,但是,最早的版本并不是那么好用,而现在,我可以郑重地推荐它了。 请注意,这个工具是完全免费的,可以通过这个链接下载。 以一个普通使用者的身份比较一下OracleSQLDeveloper和PL/SQLDeveloper。 1.格式化的结果输出。 这一点任何一个第三方工具都做得不错,是一个基本功能。 2.自动提示。 也就是上面提到的CompletionInsight功能,可以说,OracleSQLDeveloper拥有的功能以及速度绝对不亚于PL/SQLDeveloper,甚至有更人性化的表现。比如当你键入select*from,空格之后,OracleSQLDeveloper会立刻给出一个当前用户下的所有Table的列表,如果继续键入比如DBA三个字母,那么列表将转换为DBA打头的所有数据字典。而如果你从一行的开头键入exec四个字母,那么当回车以后,OracleSQLDeveloper会立刻给出一份所有可以执行的存储过程的列表。 最新版本中对于V$视图的提示有bug,相信很快就可以修改。 3.代码美化功能。 所有使用过PL/SQLDeveloper的朋友们应该都知道在最近这几版中都有一个PL/SQLBeautifier的功能,可以将一大串SQL语句格式化更容易
您可能关注的文档
最近下载
- 儿童的腹膜透析.pptx VIP
- 珠海市香洲区珠海市文园中学2024-2025学年九年级上学期11月期中数学试题(带答案).docx VIP
- 课件:猪链球菌病与猪链球菌型.ppt VIP
- 《常用工具软件》全套PPT课件.pptx
- 广东省珠海市文园中学(集团)2024-2025学年九年级上学期期中考试道德与法治试卷.pdf VIP
- 找出长方体和正方体_长方体和正方体的认识.ppt VIP
- 高教版《数学-基础模块(下册)(修订版)》教材练习习题复习题答案 第7章 简单几何体.docx VIP
- 广东省珠海市香洲区文园中学2024-2025学年九年级下学期开学考试化学试题(含答案).pdf VIP
- 《影视鉴赏》教案----第1课-影视鉴赏基础知识.pdf VIP
- 认识长方体正方体大班.ppt VIP
文档评论(0)