shared pool

shared pool分为三个部分:free、library cache、row cache

shared pool的作用是缓存sql语句以及sql语句所对应的执行计划。在library cache中。

一条sql语句的执行分为三个阶段:解析、执行、获取数据

解析:把sql语句解析成执行计划

sql的解析分为两种:硬解析、软解析

当客户端将sql传入服务器进程,服务器进程查看shared pool中的library cache查找是否有这一条sql语句以及对应的执行计划,如果没有将发生硬解析,反之,发生软解析。

硬解析的大致过程为:判断sql语句语法是否有错,判断指定对象是否存在,判断权限是否满足;如果都没有问题,从n种执行方案中选出最优的一种

软解析大致过程:判断权限是否满足;没有从n中执行方案中选出最优的一种这一步骤,这一步骤最消耗资源。

因为oracle在执行sql时需要频繁访问数据字典信息,所以Oracle将数据字典信息放入shared pool中。

 

查看library cache的大小:

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

查看解析情况:

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值