- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章_关系查询处理与查询优化
9.1 关系数据库系统的查询处理;9.1.1 查询处理的步骤
RDBMS查询处理可以分为4个阶段:;1、查询分析
对查询语句进行扫描、词法分析和语法分析, 即判断查询语句是否符合SQL的语法规则。;3、查询优化(Query Optimization);(2)物理优化
根据系统提供的存取路径,选择合理的存取路径 和底层操作算法(例如选用顺序搜索或索引进行查找), 是依赖于存取路径的优化。;4、查询执行
依据优化器得到的执行策略生成查询计划,由代码生成器(code generator)生成执行这个查询计划的代码。;9.1.2 实现查询操作的算法示例; 对查询的基本表顺序扫描,逐一检查每个元组
是否满足选择条件,把满足条件的元组作为结果
输出。; 如果选择条件中的属性上有索引(例如B+树
索引或者Hash索引),可以用索引扫描方法。
通过索引先找到满足条件的元组主码或元组
指针,再通过元组指针直接在查询的基本表中找
到元组。;[例1-C3] 以C3为例,Sage20 , 并且Sage上有B+树 索引。;[例1-C4]以C4为例, Sdept=‘CS’ AND Sage 20 , 假设Sdept和Sage 上都有索引。;二、连接操作的实现;算法2:排序-合并方法
这也是常用的算法,尤其适合连接的诸表已经排好序的情况。步骤如下:
(1)如果连接的表没有排好序,首先对两个表都按 连接属性Sno排序。;(3)当扫描到Sno不相同的第一个SC元组时,返回到Student表扫描它的下一个元组,再扫描SC表中具有相同Sno的元组,把它们连接起来。;算法3:索引连接方法;算法4:Hash Join 方法;9.2 关系数据库系统的查询优化 9.2.1 查询优化概述;一、由RDBMS进行查询优化的好处:;二、查询优化目标及步骤;4) 生成查询计划(查询执行方案)
查询计划是由一系列内部操作组成的。
代价计算公式如下:;9.2.2 一个实例; 系统可用下列3种等价的关系代数表达式来实现这一查询操作。;假 设
1、外存:
Student:1000条
SC : 10000条
其中,选修2号课程: 50条
2、一个内存块可以装元组: 10个Student , 或100个SC
内存中一次可以存放: 5块Student元组,
1块SC元组,
10块连接结果元组
3、读写速度:20块/秒
4、连接方法:基于数据块的嵌套循环法;① Student×SC
读取总块数
= 读Student表块数 + 读SC表遍数*每遍块数
? =1000/10+(1000/(10×5)) ×(10000/100)
=100+20×100=2100块
读数据时间=2100/20=105秒;②中间结果写入内存时间(处理时间忽略不计)
中间结果大小 = 1000*10000 = 107
写中间结果时间 = 107/10/20 = 50000秒;⑤总时间
=105+50000+50000 = 100105秒= 27.8小时;①Student SC 时间;③бSC.Cno=‘2’时间
读入中间结果时间 (处理时间忽略不计)
读数据时间 = 50秒
(结果为50条元组,直接放在内存,不消耗存取时间);①б时间
读SC表总块数(一遍)= 10000/100=100块
读数据时间=100/20=5秒?
(中间结果大小=50条 不必写入外存,不耗时?)
②自然连接时间
读Student表总块数(一遍)= 1000/10=100块
读数据时间=100/20=5秒?
③ 总时间=5+5秒=10秒 ;三种执行策略中,第三种最优!!!
这充分说明了查询优化的必要性!!!; 把代数表达式Q1变化成Q2、Q3,即有选择和连接操作时,应当先做选择操作,这样连接的元组就可以大大减少,这就是代数优化。;9.3 代数优化9.3.1 关系代数表达式等价变换规则;常用的关系代数等价变换规则; 3.投影的串接定律
πA1,A2,…,An(πB1
您可能关注的文档
最近下载
- 无人机组装调试与检修-第一章-无人机系统概述.pptx VIP
- 卫星定位导航原理(哈尔滨工业大学)知到智慧树网课答案.docx
- T_CEIAESD 1005—2022_防静电不发火地坪施工与质量验收规范.pdf VIP
- 2021-2022年度广东省茂名市茂南区聘任制教师招聘考试《教育综合知识》试卷及答案.pdf VIP
- 入党积极分子结业考试最新复习资料.doc VIP
- _景区门票收费权质押贷款评估案例.pdf VIP
- 2024年入党积极分子培训测试题及答案简答题、论述题.docx VIP
- AI赋能教师专题培训:AI生成式人工智能赋能教育高质量发展.pptx VIP
- 《即兴伴奏与弹唱2》课件——幼儿歌曲钢琴伴奏中小调式副三和弦的应用.pptx VIP
- 2024学年江苏省南京市高二上学期期中考数学试题及答案 .pdf VIP
原创力文档


文档评论(0)