龙空技术网

详解SQL语句解析类型——硬解析和软解析

你的人生财富导师 188

前言:

此时你们对“oracle 硬解析”大概比较珍视,我们都需要剖析一些“oracle 硬解析”的相关知识。那么小编也在网络上网罗了一些关于“oracle 硬解析””的相关知识,希望朋友们能喜欢,咱们一起来了解一下吧!

硬解析和软解析

Oracle数据信息全部存储在数据字典中,Oracle的解析有两种,软解析以及硬解析。

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

硬解析内容:语法错误,对象存不存在,用户是否有操作权限

硬解析在n种执行方案中找出最优的执行方案最消耗资源以及损耗时间

软解析 soft parse 有缓存

SQL语句语法

SQL所对应一些对象的权限满不满足

软硬解析的区别在于,软解析不必挑选最优方案

均要频繁访问数据字典信息(对象权限信息),所以oracle将数据字典信息放置到 share pool中跟library cache放置在一块

shared pool功能

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

parse 解析excel 执行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%';

后面会分享更多devops和运维方面的内容,感兴趣的朋友可以关注一下~

标签: #oracle 硬解析 #oracle硬解析和软解析的区别