码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE

时间:2015-08-06 22:39:12      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:oracle

技术分享

oracle物理体系结构图如上:

PGA——>SGA+进程——>数据库

一、select object_name from t where object_id=29(执行过程分析)

1、在PGA(发起用户使用的私有内存空间)中检查是否有该查询的用户连接和权限信息,如果有,则直接使用,不用去硬盘中读取。此外若能放下排序规则,此处也可以进行排序

2、在共享池查询什么地方有存储过这个sql指令的***(唯一的hash值),如果没有,先检查该语句的语法语义等,如果没问题,生成它的唯一hash值,存储下来

3、解析:eg:用全表扫描还是索引,哪个更高效,决定后该执行计划存储下来,并和生成的hash值组成一对

4、去数据缓冲区拿数据,如果没拿到,去数据库的数据文件中拿数,返回给数据缓冲区

二、执行计划
结果中主要属性:recurslve calls:递归调用   consistent gets:逻辑读  physical reads:物理读


三、update t set objec_id=92 where object_id=29

1、2、3、4和上面一样,

5、在数据缓冲区修改数据,通过DBWR进程写入数据库

6、日志缓冲区保存了数据库相关操作的日志,LGWR进程把日志缓冲区记录的日志写入磁盘的日志文件

7、日志文件循环写入,如果满了,先备份成归档文件arch再去写,此外,arch文件也需要定时转移到新的存储介质

ORACLE

标签:oracle

原文地址:http://jun123.blog.51cto.com/9893428/1682383

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!