数据库系统原理及应用 高教版 CH08 数据库查询优化.pptVIP

数据库系统原理及应用 高教版 CH08 数据库查询优化.ppt

  1. 1、本文档共103页,可阅读全部内容。
  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文档。上传文档
查看更多
关系表达式转换 ■ 等价规则 合取选择运算的级联分解 选择运算满足交换律 系列投影的最后有效性 选择操作与θ连接相结合 = E1 ?θ E2 ? ? 关系表达式转换 ■ 等价规则 连接运算的结合律 自然连接运算的结合律: (E1 ? E2) ? E3 = E1 ? (E2 ? E3) θ连接运算的结合律:(E1 ? E2) ? E3 = E1 ? (E2 ? E3) 选择运算对θ连接运算的分配律 选择条件θ0的所有属性只涉及θ连接的表达式之一时,满足分配律 ?θ E2) = ?θ E2 当选择条件θ1只涉及E1的属性,且选择条件θ2只涉及E2的属性时满足分配律 ?θ E2) = ?θ 关系表达式转换 ■ 等价规则 投影运算对θ连接运算的分配律 令A1、A2分别代表E1、E2的属性,假设连接条件θ只涉及A1∪A2中的属性,则 ?θ E2) = ?θ 令A1、A2分别代表E1、E2的属性;令A3是E1中出现在连接条件θ中但不在A1∪A2中的属性;令A4是E2中出现在连接条件θ中但不在A1∪A2中的属性 ?θ E2 ) = ?θ 选择执行计划 ■如何为一个给定查询选择最佳执行计划? 一种方法是搜索所有的执行计划,基于代价估计选择最佳的执行计划; 使用启发式策略选择执行计划。 实际中的查询优化器将两种方法结合起来使用。 选择执行计划 ■ 基于代价的优化 基于代价的优化器(cost-based optimizer)通过使用等价规划从给定的查询语句产生一系列查询执行计划,并选择代价最小的一个。对于一个复杂的查询,等价于给定查询的不同执行计划可能很多。例如, r1 ? r2 ? … ? rn。 基于代价的优化器在实际应用中,不可能也没必要对所有可能的执行计划进行穷举搜索(这样将会导致不可接受的优化代价,即为了寻找最佳执行计划而花费的代价过高),通常都是采用各种剪枝的技术进行局部搜索,以寻找接近最优的执行计划。 选择执行计划 ■ 启发式优化 为了减少优化本身的代价,查询优化器通常都会或多或少地使用一些启发式(heuristics)规则。 尽早执行选择操作 ,例如, σscore=92(σstudentName=李小勇(Student) ? Score) σstudentName=李小勇(Student) ? σscore=92(Score) ??? 尽早执行投影运算 投影运算象选择运算一样,也可以减少关系的大小 ,只要有可能就立即执行投影 ; 选择运算减小关系的潜力通常会比投影运算大,因此,“尽早执行投影运算”的前提是先采用“尽早执行选择运算”的启发式规则。 ■查询优化 逻辑优化:产生逻辑上等价的关系代数表达式; 代价估计:估计每个查询执行计划的代价; 物理优化:对等价的关系代数表达式以不同方式作注释, 产生不同的查询执行计划。 查询执行计划 基于代价估计的选择 —— 基于代价的优化; 基于启发式策略选择 —— 启发式优化。 总结 本章结束! 请同学们对本章内容进行复习、总结!!! 桶溢出的处理 开散列: 它的桶的数量是固定的,没有溢出链; 当一个桶满了以后,系统将记录插入到初始桶集合B的其他桶中去。 选择其他桶的策略有: 使用下一个(按轮转顺序)未满的桶,该策略称为线性探查法; 用进一步计算散列函数的方法(再散列法)。 散列索引 散列索引(hash index)将搜索码值及其相应的文件记录指针组织成一个散列索引项。 散列索引的构建方法: 将散列函数作用于一条文件记录的搜索码值,以确定该文件记录所对应的散列索引项的散列桶; 将由该搜索码值以及相应文件记录指针组成的散列索引项存入散列桶(或溢出桶)中。 图8-20是Student文件的一个散列索引,其搜索码是studentNo,散列函数是计算studentNo值的各位数字之和后按5取模。由于studentNo是主码,所以每个搜索码值只对应一个记录指针。一般情况下,每个搜索码值可能对应多个指针。

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档