专栏首页乐沙弥的世界使用PL/SQL Developer剖析PL/SQL代码

使用PL/SQL Developer剖析PL/SQL代码

    PL/SQL代码性能瓶颈可以通过DBMS_PROFILER包在命令行的方式下进行剖析来直接获得。对于比较复杂的代码而言,使用图形化的界面来进行剖析无疑是首选。PL/SQL Developer依旧依赖于DBMS_PROFILER包,使用图形化界面来剖析PL/SQL代码,如匿名块,包,过程,函数等,其Profiler结果将列出该剖析代码涉及到的所有包,过程函数等并且可以按照不同的列类型进行排序等。本文以图文的形式介绍了PL/SQL Developer 下实现PL/SQL 代码剖析。

1、配置Profiler面板 单击Tools--->Preferences--->Profiler,下面是对应的配置描述(当前的演示版本9.0.0.1601) Available Columns        --可用列(可以移动到右边) Selected Columns         --已选择的列 Time units               --时间单位(秒、毫秒、微秒) Show 0 occurrences       --是否显示执行0次的处理语句 Graphical time display   --用图形显示处理时间的颜色深度百分比

2、匿名代码段剖析示例

    下面是剖析之后的结果图:可以看出第7行耗用了最多的时间   

3、包和过程代码剖析示例

        下面是剖析之后的结果,注意下图中红色圈,右边Text列包含了该过程下调用的其他包过程或函数等

         下图是按Total time排序之后的结果,可以看到当前的这个包耗用时间最多的部分集中在SQL部分,因此可以集中精力对这些SQL进行tuning。

    下图是剖析包调用的所有模块,后面跟的是其耗用的总时间

4、剖析结果相关说明 a、Profiler面板工具栏     Profiler面板选项卡依次从左往右按钮,     --配置profiler     --刷新     --删除当前结果     --run当前代码运行起始时间     --Unit则是该代码调用所有涉及到的模块,缺省为所有单元执行的总时间,切换到单元模块则对应该单元模块总时间

b、显示结果列的相关说明     unit           --单元名称,即执行的存储过程,包括其调用的过程,匿名块等     line           --代码行号     total time     --该行代码的执行时间(颜色长度代表该行代码的执行时间与最长代码执行时间的百分比图)     occurrences    --此行执行次数     text           --对应得代码行,加密行无法显示     Average time   —平均运行时间      (这个三个时间默认不显示,如果在profiler配置块设置则显示)     maximum time   --最大运行时间     minimum time   --最小运行时间

c、定位代码行     Profiler 结果Text文本仅显示整条代码的行首部分,对于剩余部分可以在对应的行中打开右键,选择[Go to unit line]会直接跳到对应的源代码位置

d、Profiler结果排序     可以对Profiler结果不同的字段进行排序,只需单击对应列名右侧方块即可。如需要排序Total time列则单击Total time列右侧方块变成下三角。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Oracle SQL Developer 64位来访问Oracle 11g R2 64bit版本

    之前,Oracle刚刚发布了Oracle 11g R2 for Windows版本。我的系统是Windows Server 2008 R2,所以安装的就是64位...

    williamwong
  • Oracle 20c 新特性详解:SQL Macro 宏 SCALAR / TABLE 模式带来的敏捷和便利

    墨墨导读:在 Oracle 20c 中,SQL的宏支持 - SQL Macro 为 SQL 开发带来了进一步的敏捷和便利,在这篇文章中,我们来详细了解一下 SQ...

    数据和云
  • FPGA Xilinx Zynq 系列(二十三)Zynq 片上系统的开发

    今天给大侠带来FPGA Xilinx Zynq 系列第二十三篇,开启十一章,讲述Zynq 片上系统的开发等相关内容,本篇内容目录简介如下:

    FPGA技术江湖
  • 事务前沿研究 | 隔离级别的追溯与究明,带你读懂 TiDB 的隔离级别(下篇)

    在上篇,我们分析了 ANSI SQL-92 和「A Critique of ANSI SQL Isolation Levels」对隔离级别做出的定义,并且指出了...

    PingCAP
  • 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库

    3、跨平台,只要有SQL*Plus、mysql、MSSQL客户端(SSMS、Navicat皆可)、psql环境即可运行脚本

    小麦苗DBA宝典
  • 解决PL SQL Developer连接服务器数据中文乱码的问题

    飞奔去旅行
  • PHP 到底是不是宇宙第一?TIOBE 排行榜来证明!

    做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。

    纯洁的微笑
  • PHP 到底是不是宇宙第一?TIOBE 排行榜来证明!

    做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。

    用户6543014
  • 你真的了解 TIOBE 编程语言排行榜吗?

    首先,我们来看一下2018年4月发布的最新 TIOBE 指数排行榜的前 20 名(https://www.tiobe.com/tiobe-index/),如下图...

    猿哥

扫码关注云+社区

领取腾讯云代金券