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等待事件。
参考至:http://dbua.iteye.com/blog/827243
如有错误,欢迎指正
邮箱:czmcj@163.com