我正在嘗試查找程序完成所用的時間。我需要甚至跟蹤以毫秒/納秒爲單位的差異。我期待介紹一些時間戳函數之間,如程序所用的時間
start_time;
....<transactions>
end_time;
使用sysdate,我無法捕獲所需的時間在幾秒鐘內。 任何幫助將有所幫助。
我正在嘗試查找程序完成所用的時間。我需要甚至跟蹤以毫秒/納秒爲單位的差異。我期待介紹一些時間戳函數之間,如程序所用的時間
start_time;
....<transactions>
end_time;
使用sysdate,我無法捕獲所需的時間在幾秒鐘內。 任何幫助將有所幫助。
您可以嘗試DBMS_UTILITY.GET_TIME
這個函數確定在第二誕辰100的當前時間。這個 子程序主要用於確定已用時間。 子程序被調用兩次 - 在某個進程的開始和結尾 - 然後從第二個 (稍後)編號中減去第一個(較早的)編號以確定流逝的時間。
語法
DBMS_UTILITY.GET_TIME
RETURN NUMBER;
返回值
時間是 其子程序調用從時間點秒100的數量。
一個例子
Declare
l_start number;
l_end number;
Begin
l_start := DBMS_UTILITY.GET_TIME ;
-- transactions
l_end := DBMS_UTILITY.GET_TIME ;
dbms_output.put_line('elapsed: ' || (l_end - l_start)/100 || 'secs');
END;
+1我經常使用它。不過從文檔中只需注意一點:*根據平臺和計算機,數字返回範圍爲-2147483648至2147483647,並且您的應用程序必須在確定間隔時考慮數字的符號。例如,在兩個負數的情況下,應用程序邏輯必須允許第一個(較早的)數字大於第二個(較晚的)數字,它接近於零。同樣的道理,你的應用程序也應該允許第一個(較早)的數字是負數,第二個(後面的)數字是正數。* – 2014-11-04 06:10:49
您的查詢之前添加此 '設置統計時間on' – Xion 2014-11-03 22:31:13
'sysdate'返回一個日期到第二,所以我不知道你所說的「是什麼意思無法在幾秒鐘內捕獲所需時間「。如果你想要毫秒(或者納秒取決於操作系統),你需要使用時間戳和'systimestamp'函數。 – 2014-11-03 22:50:04
您是否在查看樂器並記錄您的所有呼叫,或者您是否正在嘗試對您的程序進行配置文件分析? – 2014-11-04 04:30:41