关于Execute to Parse %:比例太低的优化思路
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,AWR报告中Execute to Parse %:比例太低,如下所示: Instance Efficiency Percentages (Target 100%)Buffer Nowait %:97.
千家信息网最后更新 2026年11月01日关于Execute to Parse %:比例太低的优化思路AWR报告中Execute to Parse %:比例太低,如下所示: Instance Efficiency Percentages (Target 100%)
Execute to Parse % 表示SQL语句解析后被重复执行命中率 计算公式=100*(1-Parses/Executions) 如果该值偏小,说明分析(硬解析与软解析 )的比例较大,快速解析(即软软解析)较少。 关于session_cached_cursors参数的调整: open_cursors:该参数含义是同一个session同时打开最多在使用的游标数。在Oracle10.2.0.1.0版本中默认为300。 session_cached_cursors:SESSION_CACHED_CURSORS, 就是说的是一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(绑定变量是解决硬解析的问题),软解析同硬解析一样,同样消耗资源.所以这个参数非常重要。在Oracle10.2.0.1.0版本中默认为20。 现在需要改大这个参数,以便于进行更多的软软解析,这样可以省去open一个新的 session cursor和close一个现有session cursor所需要消耗的资源和时间。 通过下面语句查看验证了session_cached_cursors 的使用率确实为100%,(这是我当时查看验证的) SQL> Select 'session_cached_cursors' Parameter, Lpad(Value, 5) Value, Decode(Value, 0, ' n/a', To_Char(100 * Used / Value, '990') || '%') Usage From (Select Max(s.Value) Used From V$statname n, V$sesstat s Where n.Name = 'session cursor cache count' And s.Statistic# = n.Statistic#), (Select Value From V$parameter Where Name = 'session_cached_cursors') Union All Select 'open_cursors', Lpad(Value, 5), To_Char(100 * Used / Value, '990') || '%' From (Select Max(Sum(s.Value)) Used From V$statname n, V$sesstat s Where n.Name In ('opened cursors current', 'session cursor cache count') And s.Statistic# = n.Statistic# Group By s.Sid), (Select Value From V$parameter Where Name = 'open_cursors'); PARAMETER VALUE USAGE ---------------------- ---------- ----- session_cached_cursors 50 100% open_cursors 300 22% 再次验证session_cached_cursors是否合理: session_cached_cursors的值也不是越大越好,我们可以通过下面两条语句进一步验证该参数是否合理: SQL> SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%cursor%'; NAME VALUE ---------------------------------------------------------------- ---------- opened cursors cumulative 1075158364 opened cursors current 1578 pinned cursors current 458 session cursor cache hits 140287938 session cursor cache count 20425458 cursor authentications 18472351 SQL> SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%parse%'; NAME VALUE ---------------------------------------------------------------- ---------- ADG parselock X get attempts 0 ADG parselock X get successes 0 parse time cpu 13211356 parse time elapsed 19331036 parse count (total) 1020611015 parse count (hard) 83024992 parse count (failures) 504137 parse count (describe) 20927 Session cursor cache hits就是系统在高速缓存区中找到相应cursors的次数,parse count(total)就是总的解析次数,二者比值越高,性能越好。如果比例比较低,并且有较多剩余内存的话,可以考虑加大该参数。如下所示二者的比例比较低, SQL> select 140289159/1020611015*100 from dual; 140289159/1020611015*100 ------------------------ 13.745605 通过下面的语句来判断open_cursors的大小是否合理,如下所示,我的是合理的。 SQL>SELECT MAX(A.VALUE) AS HIGHEST_OPEN_CUR, P.VALUE AS MAX_OPEN_CUR FROM V$SESSTAT A, V$STATNAME B, V$PARAMETER P WHERE A.STATISTIC# = B.STATISTIC# AND B.NAME = 'opened cursors current' AND P.NAME = 'open_cursors' GROUP BY P.VALUE; HIGHEST_OPEN_CUR MAX_OPEN_CUR -------------------------------------------------------------------------------- 34 300
综上所述可以确定需要加大参数session_cached_cursors来提高oracle数据库的性能,但是参数session_cached_cursors并不是越大越好,太大会引起pga缓存碎片,消耗内存,然后session cursor cache的管理也是使用LRU。
| Buffer Nowait %: | 97.33 | Redo NoWait %: | 100.00 |
| Buffer Hit %: | 96.59 | In-memory Sort %: | 100.00 |
| Library Hit %: | 84.65 | Soft Parse %: | 93.10 |
| Execute to Parse %: | 2.60 | Latch Hit %: | 99.32 |
| Parse CPU to Parse Elapsd %: | 75.73 | % Non-Parse CPU: | 99.03 |
综上所述可以确定需要加大参数session_cached_cursors来提高oracle数据库的性能,但是参数session_cached_cursors并不是越大越好,太大会引起pga缓存碎片,消耗内存,然后session cursor cache的管理也是使用LRU。
参数
语句
比例
验证
就是
性能
越好
消耗
内存
次数
游标
版本
缓存
资源
相同
较大
重要
使用率
公式
再次
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
鸠鸠互联网科技
工业互联网科技新基建
互联网与科技金融数据
科技互联网技术
合肥互联网科技公司
贷财互联网科技
菲比寻常互联网科技
苏州大垚互联网科技
深圳期待互联网科技
蓝色互联网科技
云创客互联网科技公司
互联网为啥属于高科技
青岛科技大学互联网大赛研究生
中国科技创新与世界互联网大会
每天都有哪些好的互联网科技
互联网公司高科技产品
智帮互联网科技公司最近动向
互联网科技创新创业项目
株洲百竞科技的互联网营销顾问
互联网为科技
互联网科技公司官网
隆华科技工业互联网
青岛中康互联网医疗科技有限公司
宁夏科技产业互联网案例
世界互联网科技公司市值排名
南平创想时代互联网科技有限公司
爱医互联网络科技
互联网科技大赛获奖感言
上海乐五互联网科技有限公司