网站大量收购独家精品文档,联系QQ:2885784924

Oracle数据库—数据处理优化原理.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle数据库—数据处理优化原理.doc

Oracle数据库—数据处理优化原理 概述:调节处理中两个主要成分:从内存中读取数据和减少I/O操作。 一、?????????? 由于计算机内存有限,因此优化内存使用是调节的最大贡献。 1.?????? 数据怎么通过内存路径 当运行Oracle时,接受用户对数据的请求,数据位于磁盘中的数据文件中,用户、内存和数据库之间的信息流如下图所示: 图(一)Oracle数据流 图中有四条通信路径: 用户到内存(UM):通过应用程序启动的数据请求被集中在内存中,Oracle在内存中选择最佳路线以获取期望的数据。 内存到用户(MU):查询结果从内存中传给提出请求的用户会话。 磁盘到内存(DM):当请求被接受时,满足请求的数据从磁盘传到内存。 内存到磁盘(MD):当请求被接受时,满足请求的数据从磁盘到内存。 提示:Oracle 一直将以前查询结果保存在内存中,直到所占的空间被更多的新的查询 所请求,当一条SQL语句传递到Oracle时,首先是将其放在共享池中。其处理步骤将在下面讲到。 2.?????? 数据库到用户的通信路径 使用内存的查询处理过程如下表:(PR(准备SQL语句) 查询 处理过程 原因 Q1 UM,MU 均在内存中 Q2 UM,MU 均在内存中 Q3 UM,MU 均在内存中 Q4 UM,MD,DM,MU SQL语句在,数据不在 Q5 UM,PR,MD,DM,MU SQL语句不在,数据不在 Q6 UM,PR,MU SQL语句不在,数据在 表(一)查询处理过程 提示:如果用户写的SQL语句与共享池中准备好的语句相匹配,准备阶段可以跳过去。避免出现准备阶段是调节Oracle应用程序的最重要的部分。 3.?????? SQL语句的处理步骤 当Oracle接受一条SQL语句时,运行一个内部程序来计算语句的值。 提示:在SQL语句中,对象使用相同的名字是不够的,因为对于数据库中相同的对象名字必须求指。 过程 下一步 1. 计算语句值 2 2. 共享池中有无与此语句值相同的语句? YES = 3 NO = 4 3. 共享池中有与此语句字符完全匹配的语句? YES = 8 NO = 4 4. 准备要执行的SQL语句 5 5. 为新语句在共享池创建空间 6 6. 将语句存放在共享池中 7 7. 修改共享池图,标明语句的值和共享池中的位置 8 8. 执行准备好的SQL语句 表(二)分析SQL语句的简单步骤 4.?????? 在共享池中重用SQL语句 当SQL语句被传递给Oracle处理时,其秘诀是重复使用已经在共享池中的语句,而不是让Oracle在接受语句时区准备新的语句。 提示:如果Oracle接受了一个与共享池中的语句相一致的语句,就重用共享池中的语句。因此在同一项目中,SQL语句统一按一定的编写规范来写的话,重用程度会提高。 二、??????? ?Oracle如何存储数据、访问数据,怎么最小化磁盘访问。Oracle将数据放在构成数据库的数据文件的数据块中。数据块的每一行都由块地址或行标示符来标示。 1.?????? 有索引的处理 如果索引存在,且SQL语句可利用索引,则Oracle首先查找索引。Oracle按表3的步骤读取索引并进行处理。 2.?????? 无索引的处理 无索引时,Oracle做全表搜索以满足查询。对照查询条件读取表中的每一行数据,放弃不满足条件的行,接受符合条件的行。Oracle读表中的每一行,按表3的步骤进行处理。 过程 下一步 1. 表中有许多行吗? YES = 2 NO = 4 2. 该行的表列值与选择标准匹配吗? YES = 3 NO = 1 3. 将包含在查询结果中的数据注上标一记 GOTO 1 4. 显示查询结果 ?

文档评论(0)

docinpfd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档