- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
查询树的启发式优化(续) (3) 对每一个投影利用等价变换规则3,5,10,11中的一般形式尽可能把它移向树的叶端。 注意: 等价变换规则3使一些投影消失 规则5把一个投影分裂为两个,其中一个有可能被移向树的叶端 (4) 利用等价变换规则3~5把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成 An Introduction to Database System 查询树的启发式优化(续) (5) 把上述得到的语法树的内节点分组。每一双目运算(×, ,∪,-)和它所有的直接祖先为一组(这些直接祖先是(σ,π运算)。 如果其后代直到叶子全是单目运算,则也将它们并入该组 但当双目运算是笛卡尔积(×),而且后面不是与它组成等值连接的选择时,则不能把选择与这个双目运算组成同一组,把这些单目运算单独分为一组 An Introduction to Database System 查询树的启发式优化(续) [例4] 下面给出[例3]中 SQL语句的代数优化示例。 (1) 把SQL语句转换成查询树,如下图所示 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个表都已经
文档评论(0)