最近应公司须要,须要编写ORACLE存储过程。本人新手,在完成存储过程的编写后,感受须要对存储过程当中各个语句的执行时间进行分析,以便工具
对整个存储过程进行优化。测试
因为用的是PLSQL Developer 客户端工具,而网上大多介绍的是经过手工方法应用Profiler,使用相对比较烦杂,大体是经过命令行,以SYS用户优化
首先建立dbms_profiler包,并且还要建立一个用于存放跟踪信息的用户,及其prof表和序列的同义词,最后用profiler用户建立prof表和序列,并赋权。加密
这里对这种方法就不作介绍了。(若有须要,将会另写一篇关于此方法的介绍)命令行
下面将详细介绍在PLSQL DEVELOPER 应用Profiler:3d
一、右键存储过程,单击测试blog
二、单击测试后,会弹出一个测试窗口,以下图,此时点击"建立概览图报告"it
三、点击"执行" 或者 F8 执行存储过程配置
四、执行完后 点击"测试窗口" 上的 概览图 会出现以下:file
每列的详细意义以下:
unit --单元名称,即执行的存储过程,包括其调用的过程
line --代码行号
total time --此行执行时间(颜色长度表示本行代码的执行时间与最长代码执行时间的百分比图)
occurrences --此行执行次数
text --对应代码行,对于加密的代码,将不能显示
Average time —平均运行时间
maximum time --最大运行时间
minimum time --最小运行时间(以上三个时间默认不显示,能够经过配置对话框选择显示,参加4.4)
列表中显示的源代码只显示一行,若是要定位则能够在对应的行中打开右键,选择[Go to unit line] ,这样就会直接跳到对应的源代码位置。
Profiler面板的工具栏说明:
a、显示配置对话框
b、刷新
c、删除当前运行号的数据
d、Run 显示当前的系统的全部Profiler列表,缺省为当前的跟踪
e、Unit 显示本次跟踪的单元列表信息(执行时间),缺省为全部单元的执行时间
5.四、Profiler配置对话框
这样 就能够对存储过程作一个很好的分析,从而对其进行优化。