Oracle Elapsed time vs CPU time?

时间:2016-11-23 07:46:26

标签: sql oracle

我有oracle AWR报告,我看到针对每个sql语句提到的两个术语但是我不清楚b / w它们有什么区别 我读了几篇文章,但我仍然能够掌握这个概念

说我在下午1点到1点10分之间得到oracle服务器的报告,即600秒。假设有两个cpu并且它们正在全时运行,我相信它意味着总的cpu时间 对于DB服务器上的所有Java进程是1200秒。对吗?

现在说我有一个查询说select * from employee where id =1,它将经过时间显示为10秒,CPU时间显示为4秒。现在我的问题我相信CPU时间(4秒) 是执行查询和获取结果的实际时间。但为什么经过的时间是10秒呢?

经过的时间是否等于经过时间= CPU时间+等待时间(非空闲等待时间)?

1 个答案:

答案 0 :(得分:1)

如果查询的经过时间为10且CPU时间为4,则查询在CPU上执行需要4秒,而在非空闲等待时花费的剩余时间(6秒)。

有关演示,请查看以下Oracle Enterprise Manager查询统计信息页面的屏幕截图。

enter image description here

其中Elasped Time(sec)=250.31进一步划分为CPU时间和等待时间。

enter image description here

与上面相同,35.7%时间用在CPU上,其余部分用于等待(用户I / O)。

所以Elapsed Time=CPU Time + Wait Time(I/O, Network etc.)

相关问题