数据库系统概论(第四版)课件第九章关系查询优化幻灯片.ppt

数据库系统概论(第四版)课件第九章关系查询优化幻灯片.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * An Introduction to Database System 查询树的启发式优化(续) 为了使用关系代数表达式的优化法,假设内部表示是关系代数语法树,则上面的查询树如下图所示。 关系代数语法树 An Introduction to Database System 查询树的启发式优化(续) (2) 对查询树进行优化 利用规则4、6把选择σSC.Cno=‘2’移到叶端,查询树便转换 成下图所示的优化的查询树。这就是9.2.2节中Q3的查询树表示 优化后的查询树 An Introduction to Database System 第九章 关系系统及其查询优化 9.1 关系数据库系统的查询处理 9.2 关系数据库系统的查询优化 9.3 代数优化 9.4 物理优化 9.5 小 结 An Introduction to Database System 9.4 物理优化 代数优化改变查询语句中操作的次序和组合,不涉及底层的存取路径 对于一个查询语句有许多存取方案,它们的执行效率不同, 仅仅进行代数优化是不够的 物理优化就是要选择高效合理的操作算法或存取路径,求得优化的查询计划 An Introduction to Database System 物理优化(续) 选择的方法: 基于规则的启发式优化 基于代价估算的优化 两者结合的优化方法 An Introduction to Database System 9.4 物理优化 9.4.1 基于启发式规则的存取路径选择优化 9.4.2 基于代价的优化 An Introduction to Database System 9.4.1 基于启发式规则的存取路径选择优化 一、 选择操作的启发式规则 二、 连接操作的启发式规则 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 一、 选择操作的启发式规则: 1. 对于小关系,使用全表顺序扫描,即使选择列上有索引 对于大关系,启发式规则有: 2. 对于选择条件是主码=值的查询 查询结果最多是一个元组,可以选择主码索引 一般的RDBMS会自动建立主码索引。 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 3. 对于选择条件是非主属性=值的查询,并且选择列上有索引 要估算查询结果的元组数目 如果比例较小(10%)可以使用索引扫描方法 否则还是使用全表顺序扫描 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 4. 对于选择条件是属性上的非等值查询或者范围查询,并且选择列上有索引 要估算查询结果的元组数目 如果比例较小(10%)可以使用索引扫描方法 否则还是使用全表顺序扫描 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 5. 对于用AND连接的合取选择条件 如果有涉及这些属性的组合索引 优先采用组合索引扫描方法 如果某些属性上有一般的索引 则可以用[例1-C4]中介绍的索引扫描方法 否则使用全表顺序扫描。 6. 对于用OR连接的析取选择条件,一般使用全表顺序扫描 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 二、 连接操作的启发式规则: 1. 如果2个表都已经按照连接属性排序 选用排序-合并方法 2. 如果一个表在连接属性上有索引 选用索引连接方法 3. 如果上面2个规则都不适用,其中一个表较小 选用Hash join方法 An Introduction to Database System 基于启发式规则的存取路径选择优化(续) 4. 可以选用嵌套循环方法,并选择其中较小的表,确切地讲是占用的块数(b)较少的表,作为外表(外循环的表) 。 理由: 设连接表R与S分别占用的块数为Br与Bs 连接操作使用的内存缓冲区块数为K 分配K-1块给外表 如果R为外表,则嵌套循环法存取的块数为Br+( Br/K-1)Bs 显然应该选块数小的表作为外表 An Introduction to Database System 9.4 物理

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档