`

Parse CPU to Parse Elapsd%的理解

阅读更多

Parse CPU to Parse Elapsd%是指sql语句的CPU时间与总体解析时间的比率, SQL总体解析时间包括CPU时间和wait时间,这个比率过低说明SQL Parse的wait时间远远大于CPU的 Parse时间不是很正常,可能有大量lib cache latch or shared pool latch。

   有时候Parse CPU to Parse Elapsd%会超过100%,这是由于四舍五入造成的,CPU Time是一点一点纪录,并累加的(按SQL Parse 中的每个Call)而Elapsed Time 是一段一段纪录,并累加的(按SQL 一次parse)比如说,现在开始一个 parse , 中间有100次call, 本来每次应该是 0.8 微秒,但是,Oracle 纪录时每次计成是 1 微秒,结果,这一次的parse CPU 被记录成 100 微秒。而Elapsed Time 纪录的是整个的时间,等于 0.8 *100 + (wait time),结果就可能小于 100 微秒。而最终结果就是 Parse CPU to Parse Elapsd% > 100%

   Parse CPU to Parse Elapsd%的相关的统计信息可以从statspack中的Instance Activity Stats部门能够查到如:

parse time cpu                              13,305            3.5          0.2

parse time elapsed                           84,624           22.1          0.9

   Parse CPU to Parse Elapsd%过低一般是由于latch争用造成的,需要具体问题具体分析,经常伴随较高的latch free和enqueue等待事件。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics