数据库系统课件-关系数据库系统的查询优化.pptVIP

数据库系统课件-关系数据库系统的查询优化.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文档。上传文档
查看更多
An Introduction to Database System 第三篇 系统篇 讨论数据库管理系统中查询处理和事务管理的基本概念和基础知识 关系查询处理和查询优化 数据库恢复 并发控制 An Introduction to Database System 第九章 关系系统及其查询优化 9.1 关系数据库系统的查询处理 9.2 关系数据库系统的查询优化 9.3 代数优化 9.4 物理优化 9.5 查询执行 9.6 小 结 An Introduction to Database System 9.2 关系数据库系统的查询优化 查询优化在关系数据库系统中有着非常重要的地位 关系查询优化是影响RDBMS性能的关键因素 由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性 An Introduction to Database System 9.2 关系数据库系统的查询优化 9.2.1 查询优化的必要性 9.2.2 查询优化概述 An Introduction to Database System 9.2.1 查询优化的必要性 一个关系查询可以对应不同的执行方案,其效率可能相差非常大。 [例3] 求选修了2号课程的学生姓名。用SQL表达: SELECT Student.Sname FROM Student,SC WHERE Student.Sno=SC.Sno AND SC.Cno=‘2’; 假定学生-课程数据库中有1000个学生记录,10000个选课记录 其中选修2号课程的选课记录为50个 An Introduction to Database System 实例 系统可以用多种等价的关系代数表达式来完成这一查询 Q1=πSname(σStudent.Sno=SC.Sno∧Sc.Cno=2 (Student×SC)) Q2=πSname(σSc.Cno=2 (Student SC)) Q3=πSname(Student (σSc.Cno=2(SC))) An Introduction to Database System 实例(续) 一、第一种情况 Q1=πSname(σStudent.Sno=SC.Sno∧Sc.Cno=2 (Student×SC)) An Introduction to Database System 实例(续) 1. 计算广义笛卡尔积 算法: 在内存中尽可能多地装入某个表(如Student表)的若干块,留出一块存放另一个表(如SC表)的元组。 把SC中的每个元组和Student中每个元组连接,连接后的元组装满一块后就写到中间文件上 从SC中读入一块和内存中的Student元组连接,直到SC表处理完。 再读入若干块Student元组,读入一块SC元组 重复上述处理过程,直到把Student表处理完 An Introduction to Database System 实例(续) 设一个块能装10个Student元组或100个SC元组,在内存中存放5块Student元组和1块SC元组,则读取总块数为 + =100+20×100=2100块 其中,读Student表100块。读SC表20遍,每遍100块。若每秒读写20块,则总计要花105s 连接后的元组数为103×104=107。设每块能装10个元组,则写出这些块要用106/20=5×104s ? 13.89小时 An Introduction to Database System 实例(续) 2. 作选择操作 依次读入连接后的元组,按照选择条件选取满足要求的记录 假定内存处理时间忽略。读取中间文件花费的时间(同写中间文件一样)需5×104s 满足条件的元组假设仅50个,均可放在内存 An Introduction to Database System 实例(续) 3. 作投影操作 把第2步的结果在Sname上作投影输出,得到最终结果 第一种情况下执行查询的总时间≈105+2×5×104≈105s ≈ 27.78小时 所有内存处理时间均忽略不计 An Introduction to Database System 实例(续) 二、 第二种情况 Q2=πSname(σSc.

文档评论(0)

极研教育 + 关注
官方认证
服务提供商

SAC证券行业专业人员持证人

承接各类可行性研究报告撰写,详情加v:JiYan-edu

认证主体天津西青区极研智慧智能科技有限公司
IP属地天津
领域认证该用户于2023年10月01日上传了SAC证券行业专业人员
统一社会信用代码/组织机构代码
91120111MA07276K52

1亿VIP精品文档

相关文档