SESSION_CACHED_CURSORS,就是说的是一个session可以缓存多少个cursor,让后续相同的SQL语句不再打开游标,从而避免软解析的过程来提高性能。(绑定变量是解决硬解析的问题),软解析同硬解析一样,比较消耗资源.所以这个参数非常重要。 oracle有一个概念,那就是session cursor cache,中文描述就是有一块内存区域,用来存储关闭了的cursor。当一个cursor关闭之后,oracle会检查这个cursor的request次数是否超过3次,如果超过了三次,就会放入session cursor cache,这样在下次parse的时候,就可以从session cursor cache中找到这个statement, session cursor cache的管理也是使用LRU。 SQL> select name,value from v$sysstat where name like '%cursor%'; NAME VALUE SQL> select name,value from v$sysstat where name like '%parse%'; NAME VALUE Oracle 9i及以前,该参数缺省是0,10G上缺省是20。 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/450962/viewspace-1027719/ ,如需转载,请注明出处,否则将追究法律责任。