Oracle数据库底层
来源:互联网 发布:监控录像分析软件 编辑:程序博客网 时间:2024/06/14 18:55
Oracle底层的架构对编写出高性能的SQL语句非常重要
实例系统全局内存局部区域(SGA)和一系列的后台进程组成(PGA)
SGA的两个领域:共享池和数据库数据缓冲
SGA共享池: 地位: 关键部分之一;
作用:Oracle缓存程序数据的地方;
库高速缓存: 存储SQL语句的地方,保存已经解析的语句的区域,解析暴走验证语句的语法、检验提及的对象,以及确认该对象
的用户权限。
软解析: 取回以前的解析信息重用;
硬解析:执行所有工作为当前语句生成执行计划
高速字典缓存:存放系统参数;
最少使用算法
语句需要被共享, 如何写出高共享的SQL语
编写代码较少使用锁存器
如何查看库高速缓存中包含此数据?
查询表v$sql ;
Oracle在执行语句时,Oracle会首先将字符串转换为散列值,大小写、注释与否
锁存器:Oracle为了读取存放在库高速缓存或其他内存结构中的信息时必须获得的一种锁。
保存库高速缓存避免被两个同时运行的会话修改。
检查锁存器是否空闲
缓冲区缓存:
最大的部分之一;
数据库块从物理盘读取或写入硬盘之前,它用来存储数据块,数据块是Oracle操作的最小单位;
块中包含表数据行或索引条目,可能还包含用来排序的临时数据:
关键点:ORACLE必须读取块来获得SQL语句需要的数据行,大小为4kb\8kb\16kb,大小因素取决于使用的操作系统;
块有结构,一部分可能是用来管理块本身的信息,其余部分用来存储实际的数据或者空白空间;
块的管理:使用最少使用算法和维护一个接触计算器两种方法进行维护;
使用锁存器概念管理访问
访问尽可能少的数据块;
逻辑读取:从缓冲区缓存中读取数据块
物理读取:必须从磁盘读取;
执行计划开发,查询转换,发生在查询语法和权限检查之后;
查询一系列块查询块的转换阶段;查询块是通过SELECT关键字来定义的;
查询转换的目的:确定如果改变了查询的语法会不会提供提供更好的的查询计划;
- Oracle数据库底层
- 底层数据库
- 数据库底层连接
- 数据库底层理论基础小结
- 数据库索引底层实现
- 使用hibernate作为底层,jquery实现级联操作(附带oracle数据库)
- Redis数据库底层数据结构设计
- 数据库的select底层实现
- 用hibernate实现数据库底层分页
- 一个好的Sqlserver底层数据库类
- 一个好的Access底层数据库类
- 从IO看数据库底层实现原理
- Java数据库访问之底层:jdbc
- 如何获得Hibernate的数据库底层异常
- Cocos2d-x数据库底层生成工具
- laravel5.1 数据库相关,操作底层实现
- 数据库引擎底层原理B+树
- IOS 数据库底层封装和Block回调
- 前端面试指南函数篇
- Beautiful Soup 中文文档
- Unity手游制作记-制作通用对象管理器(一)
- Typescript 入门 及 使用Visual Studio Code搭建TypeScript开发环境
- 【字符串入门专题1】A
- Oracle数据库底层
- 李宏毅机器学习课程10~~~卷积神经网络
- Tuxedo 介绍与安装(一)
- 银根收紧 加息
- Echarts数据可视化series-scatter散点图,开发全解+完美注释
- 把中断路由到对应的cpu上
- 融合车牌识别算法的PC端车牌识别SDK
- cpu-tlb-缓存-窗口通路
- [HNOI2008]GT考试