2016-11-23 31 views
0

我有甲骨文AWR報告,我看到每個SQL語句中提到有兩個詞,但我不明白有什麼區別的B/W他們 我讀幾篇文章,但我還是很能把握概念Oracle已用時間與CPU時間?

假設我在下午1點到下午1點10分之間獲得oracle服務器的報告,即600秒。假設有兩個cpu,它們全時運行,我相信這意味着總共cpu時間 對於數據庫服務器上的所有java進程是1200秒。對 ?

現在說我有一個查詢說select * from employee where id =1顯示經過時間爲10秒和CPU時間爲4秒。現在我的問題我相信CPU時間(4秒) 是執行查詢和獲取結果的實際時間。但爲什麼逝去的時間是10秒呢?

經過時間是否等於經過時間= CPU時間+等待時間(非空閒等待時間)?

+1

我認爲這應該爲您提供答案:http://stackoverflow.com/questions/5568855/what-c​​auses-the-difference-between-cpu-time-and-elapsed-time-in-oracle-tkprof-fi ?RQ = 1 –

回答

1

如果查詢經過的時間爲10,CPU時間爲4,則查詢花費4秒鐘在CPU上執行,剩餘時間(6秒)花費在非空閒等待上。

要進行演示,請查看Oracle Enterprise Manager查詢統計信息頁面的以下屏幕截圖。

enter image description here

Elasped Time(sec)=250.31這是futher分爲CPU時間和等待時間。

enter image description here

同時間的35.7%以上花在的它的CPU和休息上等待(用戶I/O)。

因此Elapsed Time=CPU Time + Wait Time(I/O, Network etc.)