这篇文章主要介绍“怎么理解sql体系结构shared pool”,在日常操作中,相信很多人在怎么理解sql体系结构shared pool问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解sql体系结构shared pool”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1. Shared pool作用
(1)将sql语句解析成执行计划
(2)对执行计划进行执行,读取数据
(3)将读取到的数据返回给客户端
2. Shared pool组成
① free空间
② 库缓存,用于缓存SQL语句和执行计划
③ 字典缓存,存储数据库自己本身的信息,包括数据字典
3. 查询shared pool各部分大小
SQL> select * from v$sgastat a where a.name=’library cache’;
SQL> select * from v$sgastat a where a.pool ='shared pool' and a.name='free memory';
SQL> select * from v$sgastat a where a.name='row cache';
4. 硬解析和软解析
在shard pool中,前台进程会将SQL语句解析成执行计划,这部分中解析方式有两种:硬解析和软解析。
(1)硬解析(hard parse):当一条SQL语句进入共享池后,没有解析成执行计划的缓存,就需要进行硬解析。
(2)软解析(soft parse):当一条SQL语句进入共享池后,共享池中有执行计划的缓存,就进行软解析。
SQL> select name,value from v$sysstat where name like 'parse%';
NAME VALUE
---------------------------------------------------------------- ----------
parse time cpu 1479
parse time elapsed 2524
parse count (total) 60356
parse count (hard) 6524
parse count (failures) 16
parse count (describe) 50
在这个结果中,parse count (total) 代表从数据库启动之后,发生的全部解析数目。上述中当失败解析和硬解析量比较大,说明有问题了。
到此,关于“怎么理解sql体系结构shared pool”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!