oracle共享池(shared pool):一、工作原理、组成部分 二、软硬解析过程

文章目录

  • oracle整体结构图
  • 共享池(shared pool)
    • shared pool的作用
    • shared pool的组成
    • 查询 shared pool 各组成部分大小
    • 硬解析和软解析


oracle整体结构图

在这里插入图片描述

共享池(shared pool)

shared pool的作用

1、 将 sql 语句解析成执行计划

2、 对执行计划进行执行,读取数据

3、 将读取到的数据返回给客户端

解析====》执行===》返回,此处涉及到“解析”,下文将详细分析和总结,

shared pool的组成

在这里插入图片描述
① free 空间

② 库缓存,用于缓存 SQL 语句和执行计划,比如最近执行过的sql语句、pl/sql过程和包

③ 字典缓存,存储数据库自己本身的信息,包括数据字典,比如:表的定义,口令,表的结构,用户名,权限等信息,尽可能多的熟悉数据字典,才能更好的掌握oracle,相关free、libaray cache、shared pool等相关大小情况都可以在v$sgastat (内存字典)中进行查看,方便数据库监控、管理以及后期通过修改参数来改变大小空间

查询 shared pool 各组成部分大小

1、select * from v$sgastat a where a.name= ’ library cache ’ ;查看库缓存大小信息

2、select * from v$sgastat a where a.pool =‘shared pool’ and a.name=‘free memory’;查看共享大小和空闲大小信息

3、select * from v$sgastat a where a.name=‘row cache’;查看字典缓存大小

硬解析和软解析

在 shard pool 中,前台进程会将 SQL 语句解析成执行计划,这部分中解析方式有两种:硬解析和软解析。

1、oracle执行sql的步骤过程:

1.1、语法检查(syntax check)
检查此sql的拼写是否语法。
1.2、语义检查(semantic check)
诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限。

1.3、对sql语句进行解析(prase)
利用内部算法对sql进行解析,生成解析树(parse tree)及执行计划(execution plan)。
1.4、执行sql,返回结果(execute and return)

根据sql处理过程确定,软硬解析发生再1.3步骤过程中,

硬解析过程:

1.语法、语义及权限检查;2.查询转换(通过应用各种不同的转换技巧,会生成语义上等同的新的SQL语句,如count(1)会转为count(*));3.根据统计信息生成执行计划(执行计划由很多种,但是一定选择成本最低,消耗资源最少,最优的方案执行计划);4.将游标信息(执行计划)保存到库缓存。

软解析过程:

1.语法、语义及权限检查;2.将整条SQL 直接在库缓存中执行计划

1、硬解析( hard parse ) : 当一条 SQL 语句进入共享池后,没有解析成执行计划的缓存,就需要进行硬解析—消耗资源大,成本高,速度慢

2、软解析( soft parse ) : 当一条 SQL 语句进入共享池后,共享池中有执行计划的缓存,就进行软解析—shared pool中获取缓存的sql,如果没有的情况下则会发生硬解析过程,

查看解析的相关信息,
在这里插入图片描述
1、cpu解析时间
2、执行计划解析时间
3、解析总数=硬解析总数+软解析总数,可以得到软解析总数,
4、硬解析总数
5、解析失败总数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Node】【2】创建node应用

创建node应用 node应用,不仅可以实现web应用,也能实现http服务器。 如果是php写后端,还需要有http服务器,比如apache 或者 nginx。 但是现在主流都是java写后端,也可以像 Node.js 一样用于实现 Web 应用和 HTTP 服务…

easypoi模板导出word多页导出加强版

说明 上一篇文章提到多页导出,但是后边发现一个问题,如果用同一个模板导出多页内容,我们去获取多页内容的时候,会发现全部都一样,举个例子: XWPFDocument document WordExportUtil.exportWord07(outputU…

有限差分学习笔记

有限差分介绍 ​ 在数学中,有限差分法(finite-difference methods,简称FDM),是一种微分方程数值方法,是通过有限差分来近似导数,从而寻求微分方程的近似解。 由泰勒展开式的推导 显式方…

【PyTorch】关于Tensorboard的简单使用

前提文章目录 【PyTorch】深度学习PyTorch环境配置及安装【详细清晰】 【PyTorch】深度学习PyTorch加载数据 文章目录 前提文章目录SummaryWriter使用add_image()的使用(常用来观察训练结果)利用Tensorboard观察图片 SummaryWriter使用 from torch.util…

手把手教你用vite+React18+TS+redux+prettier+eslint+Ant打造企业级前端项目

通过这篇文章你可以学到 如何使用使用 webpack 搭建项目如何在 webpack中集成 typescript如何在 webpack 中集成 React Router 和 Redux如何使用 React 的组件库 Ant Design如何在项目中集成 eslint 和 prettier 保证代码质量如何为团队开发专属的项目模板 环境依赖版本 nod…

Hive SQL语言

目录 Hive SQL之数据库与建库 create database :创建数据库 use database :选择特定的数据库 drop database :删除数据库 Hive SQL之表与建表 create table : 创建表 分隔符指定语法 Hive SQL-DML-Load加载数据 Load语法功能 语法规则之filepath 语法规则之LOCAL …

spring揭秘09-aop03-aop织入器织入横切逻辑与自动织入

文章目录 【README】【1】spring aop的织入【1.1】使用ProxyFactory 作为织入器【1.2】基于接口的代理(JDK动态代理,目标类实现接口)【补充】 【1.2】基于类的代理(CGLIB动态代理,目标类没有实现接口)【1.2…

数据缓存软件Redis推出Redis 8 这更改许可证后首个重大版本更新

2024 年 3 月流行的数据库缓存应用 Redis 宣布修改开源许可证,此次修改许可证的目的本质上就是避免大型云计算公司白嫖,例如亚马逊的 AWS 等。AWS 等云计算服务商基于 Redis 推出托管服务并向客户收费,作为开发商 Redis 并没有获得收益&#…

阿里云CentOs ClickHouse安装

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 ClickHouse安装目录 前言…

easypoi模板导出word并且合并行

导出流程 引入依赖制作模板合并导出 引入依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.2</version> </dependency>制作模板 合并行是备注那一列&#xff0c;这一列…

YOLOv8目标检测推理流程及Python代码

在这章中将介绍目标检测推理原理,以及基于onnx模型使用Python语言进行推理。在推理原理章节中,将了解onnx模型的输入和输出,对输入的图片需要进行预处理的操作,对输出的结果需要进行后处理的操作等;在Python代码篇,将给出推理代码。 这里注意一下的是,由于在导出onnx模型…

DRF——pagination分页模块

文章目录 分页继承APIView类用法1.PageNumberPagination2.LimitOffsetPagination3.CursorPagination 继承GenericAPIView派生类用法1.PageNumberPagination2.LimitOffsetPagination3.CursorPagination 分页 在查看数据列表的API中&#xff0c;如果 数据量 比较大&#xff0c;肯…

嵌入式UI开发-lvgl+wsl2+vscode系列:9、控件(Widgets)(二)

一、前言 接下来我们总结第二部分的控件。 二、示例 1、image&#xff08;图像&#xff09; 1.1、示例1 #include "../../lv_examples.h" #if LV_USE_IMAGE && LV_BUILD_EXAMPLESvoid lv_example_image_1(void) {LV_IMAGE_DECLARE(img_cogwheel_argb);lv…

完成课题ssrf实现.SSH未创建写shell,同时完成其他漏洞复现

一、SSRF (Server-Side Request Forgery) 是一种网络安全漏洞&#xff0c;发生在服务器端应用程序中&#xff0c;允许攻击者通过服务器向任意网络资源发送请求&#xff0c;而无需用户直接参与。这种漏洞通常源于程序设计错误&#xff0c;例如当应用程序使用用户的输入作为URL请…

根据json字符串 自动生成 实体类 Model Entity .NET

①访问json2csharp的在线工具&#xff1a;http://json2csharp.com/ ②复制json字符串&#xff0c;粘贴到左边&#xff0c;按下面Convert按钮 ③右边就是 生成的 实体类 &#xff0c;直接复制到 .cs文件内就能使用 ④或者点击 Zip As File 按钮&#xff0c;直接生成 N个.cs文…

基于Springboot和BS架构的宠物健康咨询系统pf

TOC springboot509基于Springboot和BS架构的宠物健康咨询系统pf 第一章 课题背景及研究内容 1.1 课题背景 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#x…

使用VRoid Studio二次元建模,创建专属于自己的二次元卡通人物模型,创建完全免费开源且属于自己VRM模型

最终效果 文章目录 最终效果什么是VRoid Studio官网地址下载安装VRoid Studio1、可以去它的官网下载2、steam安装 创建模型配置参数 导出模型使用别人的VRM模型这里我分享几个不错的模型&#xff0c;大家可以自行去下载 完结 什么是VRoid Studio 如果你玩过能捏脸的游戏你就能…

游戏开发设计模式之责任链模式

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许将请求沿着处理者链进行发送。每个处理者对象都有机会处理该请求&#xff0c;直到某个处理者决定处理该请求为止。 概念与定义 责任链模式的核心思想是将多个处理器…

【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}

一、再谈端口号 1.1 端口号标识网络进程 如何通过端口号找到主机上的网络进程&#xff1f; 在socket编程中bind绑定是最为重要的一步&#xff1a;他将套接字与指定的本地 IP 地址和端口号关联起来&#xff0c;这意味着指定的套接字可以接收来自指定 IP 地址和端口号的数据包…

前端宝典十:webpack性能优化最佳实践

Webpack 内置了很多功能。 通常你可用如下经验去判断如何配置 Webpack&#xff1a; 想让源文件加入到构建流程中去被 Webpack 控制&#xff0c;配置 entry&#xff1b;想自定义输出文件的位置和名称&#xff0c;配置 output&#xff1b;想自定义寻找依赖模块时的策略&#xff…