statspack 中 Execute to Parse

Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             Buffer Nowait %:   99.82       Redo NoWait %:              100.00
             Buffer  Hit   %:   97.18    In-memory Sort %:               99.90
             Library Hit   %:   99.89        Soft Parse %:               99.84
          Execute to Parse %:   12.11         Latch Hit %:               99.54
Parse CPU to Parse Elapsd %:   57.50     % Non-Parse CPU:               95.41
  
  Shared Pool Statistics        Begin   End
                                ------  ------
              Memory Usage %:   59.91   60.20
     % SQL with executions>1:   91.78   91.34
   % Memory for SQL w/exec>1:   99.62   99.62

 

 Execute to Parse  =  round(100*(1-:prse/:exe),2)                     
  
prse = select value from v$sysstat where name = 'parse count (total)';
exe = select value from v$sysstat where name = 'execute count';

 

  Quote:
wanghai wrote:

  Quote:
biti_rainy wrote:
这个值的高低跟 bind var没有必然联系
  
建议你做的是增加 session_cached_cursors 到 100 或者 200,pga足够的话

没绑定的话导致不能重用也是一个原因,当然sharedpool太小也有可能,单纯的加session_cached_cursors也不是根治的办法,不同的sql还是不能重用,还要解析,呵呵,运气好的话能有性能提高.如果内存够的话完全可以一试,不过根治还是需要bind:)


        即使是soft  parse 也会被统计入 parse count,所以这个指标并不能反应出  fast soft(pga 中)/soft (shared pool中)/hard (shared pool 中新解析)  几种解析的比例。只有在pl/sql的类似循环这种程序中使用使用变量才能避免大量parse 所以这个指标跟是否使用bind并没有必然联系 ,增加session_cached_cursors 是为了在大量parse的情况下把soft转化为fast  soft而 节约资源

 

原文参考

http://www.cnoug.org/viewthread.php?tid=1796

 

 

 

你可能感兴趣的:(statspack 中 Execute to Parse)