数据库原理与程序设计(孙杰)第11章 查询优化技术.pptVIP

数据库原理与程序设计(孙杰)第11章 查询优化技术.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 查询优化技术 生物医学软件工程教研室 查询优化的必要性 例:查询选修了课程C031的学生的姓名 为了对查询的效率进行比较,我们进行如下的假设: 外存:Student:1000条;SC:10000条;选修2号课程:50条; 一个内存块装元组:10个Student或100个SC,内存中一次可以存放:5块Student元组,1块SC元组和若干块连接结果元组; 读写速度:20块/秒; student×sc 读取时间=读取总块数÷读取速度 读取总块数= 读Student表块数+读SC表遍数*每遍块数=1000/10+(1000/(10×5)) ×(10000/100) =100+20×100=2100 写中间结果的时间=中间结果的大小÷磁盘块容量÷读写速度 中间结果大小 = 1000*10000 = 107(1千万条元组) ?运算需读取中间结果 读数据时间 = 50000秒? П 总时间 =105+50000+50000秒 = 100105秒 = 27.8小时 ∞ 读取总块数= 2100块 读数据时间=2100/20=105秒 中间结果大小=10000 (减少1000倍) 写中间结果时间=10000/10/20=50秒? ? 读数据时间=50秒 П 总时间=105+50+50秒=205秒=3.4分? ? 读SC表总块数= 10000/100=100块 读数据时间=100/20=5秒? 中间结果大小=50条 不必写入外存 读Student表总块数= 1000/10=100块 读数据时间=100/20=5秒 总时间=5+5秒=10秒 ? 读SC表索引= 读SC表总块数= 50/1001块 读数据时间? 中间结果大小=50条 不必写入外存 ∞ 读Student表索引= 读Student表总块数= 50/10=5块 读数据时间 总时间10秒 查询优化的一般规则 规则1:选择和投影操作尽早执行 减少中间结果 查询优化的一般规则 规则2:把某些选择操作与邻接笛卡尔积相结合,形成一个连接操作 连接操作比笛卡尔积节省时间,特别是等值连接。 σstudent.son=sc.sno(student×sc) student∞sc 查询优化的一般规则 规则3:同时执行相同关系上的多个选择和投影操作 避免重复扫描关系 查询优化的一般规则 规则4:把投影操作与邻接操作结合起来执行 减少扫描关系的遍数 查询优化的一般规则 规则5:在执行连接操作前对关系适当进行预处理 按连接属性排序 在连接属性上建立索引 查询优化的一般规则 规则6:提取公共表达式 关系代数等价变换规律 等价的概念:设E1和E2是两个关系代谢表达式。如果E1和E2中表示相同的关系,则称E1和E2等价。 等价规律1:选择串接律 其中E是关系代数表达式,ci是选择条件. 选择条件可以合并,一次可以检查多个条件 等价规律2:选择交换律 其中E是关系代数表达式,ci是选择条件. 等价规律3:投影串接律 其中,E是关系代数表达式,Li是投影属性集合,且L1?L2? … ?Ln 等价规律4:选择投影交换律 其中,E是关系代数表达式,L是投影属性集合,C是选择条件,C值设计L中属性 等价规律5:连接和笛卡尔积交换律 其中,E1 和E2 是关系代数表达式,C是连接条件。 等价规律6:集合操作的交换律 其中,E1和E2是关系代数表达式 等价规律7:连接、笛卡尔积和集合操作的结合律 等价规律8:选择、连接和笛卡尔积的分配律 部分的选择可以在笛卡尔积(或连接)前先做; 等价规律9:投影、连接和笛卡尔积的分配律 等价规律10:选择与集合操作的分配律 等价规律11:投影与集合操作的分配律 关系代数优化算法——查询树 查询树是一种表示关系代数表达式的树形结构。 叶子节点表示关系 内节点表示关系代数操作 自底向上执行 处理一个查询需要构造该查询的内部表示——查询树 高级查询语言定义的查询语句? 关系代数表达式(查询树)? 优化算法?最终的结果查询树 例 Select A from R1, R2, R3 where P=15 and N=‘user’; 关系代数表达式 πA(σp=15and N=‘user’ (R1×R2×R3)) 查询优化算法的描述 算法输入:关系代数表达式 算法输出:计算输入关系代数表达式的程序 (1)使用规律1,把每个选择操作 变换为 (2)使用规律2,4,8和10,把查询树上的每个选择操作移动到尽可能靠近叶子节点 (3)使用规律3,4,9和11,把查询树上的每个投影操作移动到尽可能靠近叶子节点 (4

文档评论(0)

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

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

1亿VIP精品文档

相关文档