最近應公司須要,須要編寫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配置對話框
這樣 就能夠對存儲過程作一個很好的分析,從而對其進行優化。