Oracle学习之shared pool--硬解析和软解析

1.shared pool(共享池)的组成

  3块区域:free cache、library cache、row cache

  free cache:空闲空间

  library cache:主要缓存SQL语句以及SQL语句对应的执行计划

  row cache:数据字典缓存

  select * from v$sgastat a where a.NAME = 'library cache';

  select * from v$sgastat a where a.pool = 'shared pool' and a.NAME='free memory';

  select * from v$sgastat a where a.NAME = 'row cache';

  简述数据字典

2.硬解析、软解析

  硬解析步骤、软解析步骤

  硬解析:sql语句在library cache中无SQL语句以及对应的执行计划,进入硬解析。

  解析步骤:判断语法-》判断对象是否存在-》检查是否有权限-》生成执行计划(挑出最有的执行方案生成执行计划,此步骤最消耗资源)

  软解析:有缓存

  解析步骤:判断语法-》判断对象是否存在-》判断权限

硬解析和软解析都要频繁的访问数据字典,所以数据字典放在shared pool中。

软硬解析的具体情况

select name,value from v$sysstat where name like 'parse%';

 

posted @ 2016-01-03 22:44  道心不可练  阅读(322)  评论(0编辑  收藏  举报