第四章关系系统及其查询优化.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第1页,共21页,星期日,2025年,2月5日4.1关系系统关系系统与关系模型的关系?支持关系模型的数据库管理系统是关系系统?一个实际的关系系统必须完全支持关系模型?只有完全支持关系模型的系统才能称为关系系统?什么样的系统可以定义为关系系统?第2页,共21页,星期日,2025年,2月5日4.1.1关系系统的定义一个系统可以定义为关系系统,当且仅当它:(1)支持关系数据库(关系数据结构):表(2)支持选择、投影和(自然)连接运算,且对这些运算不必要求任何物理存储路径方便用户使用的重要运算而由关系系统自动选择进一步理解:方便用户,提高性能,物理独立性,最有用第3页,共21页,星期日,2025年,2月5日4.1.2关系系统的分类关系模型的组成部分数据结构(关系)S,完整性约束I,数据操纵MSMI用阴影表示支持程度第4页,共21页,星期日,2025年,2月5日4.1.2关系系统的分类表式关系:仅支持关系数据结构,如倒排表列最小关系系统:仅支持关系数据结构和三种关系操作,如FoxBASE,FoxPro关系完备的系统支持关系数据结构和所有的关系代数操作,如Oracle,Sybase全关系系统:完全地支持关系模型的所有特征是一个目标,有一套参考准则(12条)SIMSMISIMSMI自学全关系系统的12条基本准则第5页,共21页,星期日,2025年,2月5日4.2关系系统的查询优化

4.2.1关系系统及其查询优化说明查询处理是RDBMS的核心,而查询优化技术是查询处理的关键技术查询优化的目标选择有效的策略,求得给定表达式的值查询优化的优点使得用户在表达查询时不必考虑查询效率问题RDBMS将通过优化器(Optimizer)自动进行查询优化SQL、关系代数等表达式优化器可以做什么?第6页,共21页,星期日,2025年,2月5日查询优化的一般步骤将查询转换成某种内部表示,如语法树语法树有多种形式,如关系代数语法树。将语法树转换成标准(优化)形式:优化器将应用等价转换规则反复地(通过内部的循环算法)对查询表达式进行尝试性转换,将原始的语法树转换成“优化”的形式。选择低层的存取路径:根据数据字典中的存取路径、数据的存储分布以及聚簇情况等信息来选择具体的执行算法,进一步改善查询效率。生成由一系列内部操作组成的查询执行方案,选择代价最小的。目前商品化RDBMS大都采用基于代价的优化算法多用户环境下总代价=I/O代价+CPU代价+内存代价第7页,共21页,星期日,2025年,2月5日4.2.2一个实例例子:求选修了2号课程的学生姓名假设:学生-课程数据库中有1000个学生记录,10000个选课记录,其中选修2号课程的选课记录为50个SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=‘2’;SQL:关系代数:第8页,共21页,星期日,2025年,2月5日对于Q1,假设读取表的策略为:一个块能装10个Student元组或100个SC元组,在内存中存放5块Student元组和1块SC元组,每秒读写20块。代价分析1:Q11、计算笛卡尔积:读取所有数据库记录到内存所需时间:需读取总块数为1000/10+1000/(10*5)*10000/100=100+20*100=2100块,总计花费2100/20=105秒从内存写到中间文件读取笛卡儿积所需时间:计算笛卡尔积后生成元组数为103*104=107个。设每块能装10个元组,则将积结果块从内存写到中间文件为107/10/20=5*104秒2、选择操作需要将笛卡尔积结果块从中间文件读入内存,需要的时间同样为107/10/20=5*104秒。3、投影:假设选择操作后得到的结果仅50个元组,最后在此基础上作投影操作,时间可以忽略。因此,忽略内存代价,执行Q1的总时间约为105+2*5*104秒读Student表100块读SC表20遍,每遍100块第9页,共21页,星期日,2025年,2月5日代价分析2:Q21、计算自然连接需要读取的总块数和花费的时间为仍为2100块和105秒自然连接后生成的元组数为104个,设每块能装10个元组,则计算完自然连接后将这些块从内存写到中间文件时间均为104/10/20=50秒。2、选择操作需要将连接后的结果从中间文件读入内存,需要的时间同样为50秒。3、投影操作:时间可以忽略因此,忽略内存代价,执行Q1的总时间约为105+2*50=20

文档评论(0)

xiaoshun2024 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档