您的位置:首页 > 数据库 > Oracle

Oracle进阶学习3:SQL语句解析类型——硬解析和软解析

2019-06-11 20:30 1576 查看

文章目录

硬解析和软解析

Oracle数据信息全部存储在数据字典中,

Oracle的解析有两种,软解析以及硬解析

  • 硬解析 hard parse 没有缓存进入硬解析

    硬解析内容:语法错误,对象存不存在,用户是否有操作权限
  • 硬解析在n种执行方案中找出最优的执行方案最消耗资源以及损耗时间
  • 软解析 soft parse 有缓存

      SQL语句语法
    • SQL所对应一些对象的权限满不满足

    软硬解析的区别在于,软解析不必挑选最优方案
    均要频繁访问数据字典信息(对象权限信息),所以oracle将数据字典信息放置到 share pool中跟library cache放置在一块

    shared pool功能

    shared pool 缓存SQL语句以及SQL语句的执行计划

    1. parse 解析
    2. excel 执行
    3. fetch 取回数据

    shared pool组成

    shared pool是一块内存池,内部被分成比较小的区块,
    1. free部分 空闲部分
    2. library cache 库缓存,保存的是SQL语句以及SQL语句的执行计划
    3. row cache 缓存数据字典信息

    SQL语句

    查看各个内存块的大小

    1. library cache

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

    2. free memory

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

    3. row cache

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

    SQL

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

  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: