物理体系

体系结构图

  • 缩放

    1.Oracle由实例和数据库组成,上半部分的直角方框为实例instance,下半部分的圆角方框为数据库Database。
    2.实例是由一个开辟的共享内存区SGA(System Global Area)和一系列后台进程组成的,其中SGA被划分为共享池(share poor),数据缓冲区(db buffer)和日志缓冲区(log buffer)。后台进程包括PMON、SMON、LCKn、RECO、CKPT、DBWR、LGWR、ARCH等系列进程。
    3.数据库是由数据文件、参数文件、日志文件、控制文件、归档日志文件等系列文件组成的。其中归档日志最终可能会被转移到新的存储介质中,用于备份恢复使用。
    4.PGA(Program Global Area)区是一块开辟出来的内存区,和SGA最明显的差别在于,PGA不是共享内存,是私有不共享的。用户对数据库发起的无论查询还是更新的任何操作,都是在PGA先预处理,然后接下来才进入实例区域,由SGA和系列后台进程共同完成用户发起的请求。
    PGA起到的具体作用,就是预处理。主要有三点:第一,保存用户的连接信息,
    如绘画属性、绑定变量等;第二,保存用户权限等重要信息,当用户进程与数据
    库建立会话时,系统会将这个用户的相关权限查询出来,然后保存在这个会话区内;第三,当发起的指令需要排序的时候,PGA排序区,如果在内存中可以放下排序的尺寸就在内存PGA区内完成,如果放不下,超出的部分就在临时表空间中完成排序,也就是在磁盘中完成排序。
    5.图中三块区域,1区原型虚线框,2区直角方形虚线框,3区圆角方形虚线框。用户的请求发起经历的顺序一般是:1区-->2区-->3区;或者1区-->2区。
    why:

体系结构原理初探

  • 从普通查询SQL语句说起
    1.selectobject_name from t where object_id =29;,当发出这条SQL指令后,该SQL语句从1区先做准备工作。PGA是仅供当前发起用户使用的私有内存空间,这里该连接只完成了两点,即用户连接信息的保存和权限的保存,只要该SESSION不断开连接,下次系统直接从PGA内存中存取,不用再去硬盘中读取数据。
    此外该SQL还会立即匹配成一条唯一的HASH值,接下来该SQL指令进入2区进行处理,首先敲开SGA区的共享池的大门,如图所示。

    共享池的大门打开了,该SQL先在房内查询是否什么地方有存储过这个SQL指令的身份证(就是那个唯一的HASH值),如果没有,那就要幸苦了,首先查询自己的语句语法是否正确、语义是否正确、是否有权限,在这些都没问题的情况下生成这句语句的身份证,唯一的HASH值就被存储下来了。接下来开始进行解析,解析什么呢?比如select object_name from t where object_id=29这个语句,在object_id列有索引的情况下,是索引读更高效,还是全表扫描更高效?Oracle都要做出选择。Oracle会把两种方式都估算一遍,选代价较小的。
    现假设Oracle认定使用索引代价更低,接下来索引读的执行计划就立即被存储起来,并且和之前存储的该SQL的身份证对应在一起。接下来,SQL指令直奔数据缓存区,数据缓存区收到后立即要根据ID列上的索引从t表中查找object_id值为29的宝物,但是所要的东西找不到,只好传令到偏远的Database区的数据文件区去找(必须用索引读的方式),查到了,带回数据缓冲区复命,找不到也要复命,如图所示。

    至此,一条最普通的SQL指令的经历就完了。
  • 执行普通查询SQL语句
    create table t as select *from all_objects;建表
    create index idx_object_id on t(object_id);建索引
    set autotrace on 开始跟踪SQL执行计划和执行的统计信息
    set timing on 是表示跟踪该语句执行完成的时间
    最后,执行select object_name from t where object_id=29;
  • 先后执行两次,结果如下

  • 原因
    1、用户首次执行该SQL指令时,该指令从磁盘中获取用户连接信息和相关权限信息权限,并保存在PGA内存里。当用户再次执行该命令时,由于SESSION之前未被断开重连,连接信息和相关权限信息就可以在PGA内存中直接获取,避免了物理读。
    2、首次执行该SQL指令结束后,SGA内存区里的共享池里已经保存了该SQL唯一指令HASH值,并保留了语法语义检查及执行计划等相关解析动作的劳动成果,当再次执行该SQL时,由于该SQL指令的HASH值和共享池里的保存的相匹配了,所以之前的硬解析动作无须再做,不尽调过了相关语法语义检查,对于该选取哪种执行计划也无须考虑,直接拿来主义就好了。
    3、首次执行该SQL指令时,数据一般不在SGA的数据缓冲区里(除非被别的SQL读入内存了),只能从磁盘中获取,不可避免地产生了物理读,但是由于获取后会保存在数据缓冲区里,再次执行就直接从数据缓冲区里获取了,完全避免了物理读,

图像及画布

  • 位图图像
    位图图像由一个个像素点组合而成。不同的像素点以不同的颜色构成了完整的图像,所以位图图像可以表达出色彩丰富,过渡自然的图像效果。
    位图的缺点表现在保存位图时需要记录每个像素点的颜色和位置,所以图像像素点越多(即分辨率越高),图像越清晰,文件所占空间越大,处理图像时运算速度相应较慢。
  • 矢量图形
    矢量图形有一系列线条所构成,而这些线条的颜色、位置、曲率、粗细等属性都是通过许多复杂的数学公式来表达的。因此,与位图图像的处理正好相反,文件大小与输出打印尺寸没什么关系。
    矢量图形另一个优点是所占空间较小,但图像不能够表现很丰富、细腻的细节。常见的矢量图形是企业LOGO,卡通人物和漫画。
  • 尺寸与分辨率
    图像尺寸与分辨率之间存在很大关联,图像尺寸是指一幅图像的物理尺寸,也就是它在打印输出之后所显示的尺寸。图像分辨率市值图像中存储的信息量。这种分辨率有多种衡量方法,典型的是每英寸的像素数(dpi)来衡量。
  • 缩放图像
    执行"编辑"|"变换"|"缩放"命令,快捷键:command+T。
  • 旋转图像
    选择图层,并按快捷键:command+T弹出自由变换控制框。
    光标置于控制框外围,当光标变成一个弯曲箭头时拖动鼠标,即可以以中心为基准旋转图像,Enter确认变换操作。
    如需旋转15度,在拖动鼠标的同时按住Shift建。
  • 斜切图像
    执行"编辑"|"变换"|"斜切"命令。
  • 水平,垂直翻转图像
    执行"编辑"|"变换"|"水平翻转"命令。
  • 扭曲图像
    执行"编辑"|"变换"|"扭曲"命令。
  • 透视图像
    执行"编辑"|"变换"|"透视"命令。
  • 精确变换
    按快捷键:command+T弹出自由变换控制框。
    工具栏选项进行设置参数。

转载于:https://www.cnblogs.com/cccddd/p/7338543.html

收获,不止oracle相关推荐

  1. 不止 oracle,别出心裁 另有蹊径-与梁敬彬《收获,不止ORACLE》序

    别出心裁 另有蹊径-与梁敬彬<收获,不止ORACLE>序 梁敬彬兄弟二人联手打造的新书<收获,不止ORACLE>即将出版,嘱我写一点东西,于是就有了以下一段文字,感谢他们与Or ...

  2. 收获不止oracle在线,重温《收获不止Oracle》

    闲在家里,正好重新查缺补漏 第一章:方法论: 第二章:物理体系.回滚段与SCN对读一致性的意义.LGWR只能单进程.频率归档日志会引起数据写入效率下降.Oralce的启动顺序(读参数文件.控制文件.数 ...

  3. 一图讲解一条sql语句的一生——《收获,不止Oracle》的读书笔记01

    其实也是<收获,不止Oracle>的读书笔记之一啦 微信读书可以看,数据库我觉得相通性还是比较大的,不管你用的哪种,都可以学学 难度的话,我才看到2.2 ,觉得本菜鸟还是可以看懂的. 说是 ...

  4. 五本《收获,不止Oracle》等你领取,Oracle DBA的福利

    为了回馈我们默默关注的粉丝朋友们,我们特地联合电子工业出版社给大家免费赠送最新版<收获,不止Oracle>图书5本,具体参与方式见文末. 鼎力推荐 颠覆IT技术图书的传统写作方式,在妙趣横 ...

  5. 阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

    开头我先说: 有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:""广".加之其简单易学,SQL实现也可一字概括:&quo ...

  6. 【面试虐菜】—— Oracle知识整理《收获,不止Oracle》

    普通堆表不足之处:     表更新有日志开销     表删除有瑕疵     表记录太大检索较慢     索引回表读开销很大     有序插入难有序读出   DELETE产生的undo最多,redo也最 ...

  7. 《收获,不止Oracle》表的设计之五朵金花

    表设计主要强调什么场合该选择什么技术,没有最高级的技术,只有最适合的技术. 1.表的特性 普通堆表的不足之处  1.查看产生多少日志 [oracle@oracle-db-19c ~]$ sqlplus ...

  8. 《收获,不止Oracle》表的连接学以致用

    6.2 三大类型 6.2.1 连接类型 嵌套循环 排序合并及散列连接 第一种方式就是数据库表连接中的嵌套循环连接(Nested Loops Join),而第二种方式就是表连接中的排序合并连接(Merg ...

  9. 阿里M8级铁子整理出SQL手册:收获不止SQL优化,抓住SQL的本质

    有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括: "广"".加之其简单易学,SOL实现也可一字概括:"乐&qu ...

  10. 阿里 M8 级大神整理出 SQL 手册:收获不止 SQL 优化,抓住 SQL 的本质

    什么是 SQL? 结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库 ...

最新文章

  1. (区间dp 或 记忆化搜素 )Brackets -- POJ -- 2955
  2. 名校计算机博士:拿到了五个工作机会,华为是最差的!
  3. Pycharm中Python3连接Oracle
  4. 【学习笔记】《数据挖掘:理论与算法》CH4神经网络
  5. c++中内敛函数_C/C++求职者必备 23 道面试题,一道试题一份信心
  6. html如何在画布上加层,在Canvas中嵌套Html
  7. linux内核驱动子系统,linux内核中的MFD子系统
  8. 经典测试用例--水杯测试
  9. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例7
  10. 扫描二维码登录的接口
  11. 周杰 清华大学计算机学院,周杰 -清华大学自动化系
  12. 《道德经》里的世界观(一种解读,仅供参考)
  13. 5G 时代,AI 如何破竹而出? | AI ProCon
  14. DP(动态规划)入门(一)
  15. 华为鸿蒙任正非专访,任正非接受专访:华为鸿蒙系统将比安卓速度快60%
  16. Android usb广播 ACTION_USB_DEVICE_ATTACHED流程源码分析
  17. 采用busybox的嵌入式Linux根文件系统的的制作方法
  18. 交大计算机技术非全日制,上海交通大学非全日制研究生的区别
  19. myeclipse中java.lang.OutOfMemoryError: PermGen space
  20. python怎么做游戏主播_做一名游戏主播是什么样的感受?

热门文章

  1. python-获取当前文件名
  2. (1) python 将numpy数组导出excel
  3. Java从入门到精通 第17章 对象的引用与传递
  4. C++循环控制经典例题*
  5. sonar mysql svn_jenkins+sonarqube+svn/git踩过的坑
  6. python product函数
  7. python通过文件路径读取图片
  8. conda: command not found
  9. caffe目录结构 及 caffe源码文件说明
  10. 使用 Kubernetes 和 Kubeflow 扩展对象检测