Execute to Parse 指标反映了执行解析比
其公式为 1-(parse/execute) , 目标为100% 及接近于只执行而不解析。
在oracle中解析往往是执行的先提工作,但是通过游标共享可以解析一次执行多次,执行解析可能分成多种场景:
1.hard coding => 硬编码代码,硬解析一次,执行一次, 则理论上其执行解析比为 1:1,则理论上Execute to Parse =0 极差,且soft parse比例也为0%
2.绑定变量但是仍软解析=》 软解析一次,执行一次,这种情况虽然比前一种好,但是执行解析比(这里的parse,包含了软解析和硬解析)仍是1:1, 理论上Execute to Parse =0 极差, 但是soft parse比例可能很高。
3. 使用静态SQL、动态绑定、session_cached_cursor、open cursors等技术实现的解析一次,执行多次,执行解析比为N:1, 则 Execute to Parse= 1- (1/N) 执行次数越多 Execute to Parse越接近100% ,这种是我们在OLTP环境中喜闻乐见的!
通俗地说 soft parse反映了软解析率, 而软解析在oracle中仍是较昂贵的操作, 我们希望的是解析1次执行N次,如果每次执行均需要软解析,那么虽然soft parse%=100% 但是parse time仍可能是消耗DB TIME的大头。
Execute to Parse反映了执行解析比,Execute to Parse和soft parse% 都很低,那么说明却是没有绑定变量, 而如果 soft parse% 接近99%,而Execute to Parse 不足90% 则说明没有执行解析比低, 需要通过静态SQL、动态绑定、session_cached_cursor、open cursors等技术减少软解析。
其公式为 1-(parse/execute) , 目标为100% 及接近于只执行而不解析。
在oracle中解析往往是执行的先提工作,但是通过游标共享可以解析一次执行多次,执行解析可能分成多种场景:
1.hard coding => 硬编码代码,硬解析一次,执行一次, 则理论上其执行解析比为 1:1,则理论上Execute to Parse =0 极差,且soft parse比例也为0%
2.绑定变量但是仍软解析=》 软解析一次,执行一次,这种情况虽然比前一种好,但是执行解析比(这里的parse,包含了软解析和硬解析)仍是1:1, 理论上Execute to Parse =0 极差, 但是soft parse比例可能很高。
3. 使用静态SQL、动态绑定、session_cached_cursor、open cursors等技术实现的解析一次,执行多次,执行解析比为N:1, 则 Execute to Parse= 1- (1/N) 执行次数越多 Execute to Parse越接近100% ,这种是我们在OLTP环境中喜闻乐见的!
通俗地说 soft parse反映了软解析率, 而软解析在oracle中仍是较昂贵的操作, 我们希望的是解析1次执行N次,如果每次执行均需要软解析,那么虽然soft parse%=100% 但是parse time仍可能是消耗DB TIME的大头。
Execute to Parse反映了执行解析比,Execute to Parse和soft parse% 都很低,那么说明却是没有绑定变量, 而如果 soft parse% 接近99%,而Execute to Parse 不足90% 则说明没有执行解析比低, 需要通过静态SQL、动态绑定、session_cached_cursor、open cursors等技术减少软解析。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29439655/viewspace-1070477/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29439655/viewspace-1070477/