天天看點

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