版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章关系系统及其查询优化第一页,共十七页,2022年,8月28日4.1关系系统关系系统定义支持关系模型的关系数据库管理系统简称关系系统。1.下述关系的DBMS不能称为关系系统1)不支持关系数据结构的系统2)支持关系数据结构,但无δ、π、运算功能的系统3)支持关系数据结构,有δ、π、运算,但要求定义物理存取路径的系统可称为关系系统的DBMS,当且仅当1)支持关系数据结构(关系数据库)2)支持δ、π、运算,且不要求用户定义任何物理存取路径第二页,共十七页,2022年,8月28日4.1关系系统关系系统分类4.全关系系统:支持关系模型的所有特征。在关系完备系统的基础上,进一步支持实体完整性和参照完整性等。
DBⅡ,ORACLE,SYBASE,…已接近这个目标。1.表式系统: 仅支持关系数据结构,不支持关系操作。2.(最小)关系系统: 支持关系数据结构,支持δ、π、∞运算,且不定义物理路径。3.关系完备系统:支持关系数据结构和所有关系代数操作(或功能上与关系代数等价)。 DBⅡ,ORACLE,SYBASE,…属于这一类第三页,共十七页,2022年,8月28日4.1关系系统关系系统分类数据结构数据操作完整性约束表式系统表××(最小)关系系统表选择、投影、连接×关系完备的系统表√×全关系系统√√√第四页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述
●
查询处理的过程查询语句查询输出关系代数表达式执行计划语法分析与翻译执行引擎优化器数据有关数据的统计信息第五页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述●
实际系统的查询优化步骤1.将查询转换成某种内部表示,通常是语法树2.根据一定的等价变换规则把语法树转换成标准(优化)形式3.选择低层的操作算法对于语法树中的每一个操作根据存取路径、数据的尺寸、数据的存储分布、存储数据的聚簇等信息来计算各种执行算法的执行代价选择代价小的执行算法4.生成查询计划(查询执行方案)第六页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述
●
常用查询优化技术用启发式规则来缩减查询计划的搜索空间利用统计信息估算执行代价基于代价
●代价模型集中式数据库单用户系统:总代价=I/O代价+CPU代价多用户系统:总代价=I/O代价+CPU代价+内存代价分布式数据库 总代价=I/O代价+CPU代价[+内存代价]+通信代价第七页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述
●
一个实例:求选C2课程的学生名SELECTSNAMEFROM Student,SCWHEREStudent.Sno=SC.SnoANDCno=‘C2’;
外存: Student:1000条,SC:10000条,选修2号课程:50条一个内存块装元组:10个Student,或100个SC,内存中一次可以存放:5块Student元组,1块SC元组和若干块连接结果元组读写速度:20块/秒连接方法:基于数据块的嵌套循环法假设第八页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述
●
一个实例1.Q1=ПSname(бStudent.Sno=SC.Sno∧SC.Cno=‘c2‘
(Student×SC))
①Student×SC读取总块数=读Student表块数+读SC表遍数*每遍块数 =1000/10+(1000/(10×5))×(10000/100)=2100读数据时间=2100/20=105秒 中间结果大小=1000*10000=107(1千万条元组)写中间结果时间=10000000/10/20=50000秒
②б 读数据时间=50000秒
③П总时间=105+50000+50000秒=100105秒=27.8小时第九页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述2.Q2=ПSname(бSC.Cno='2'(StudentSC))① 读取总块数=2100块 读数据时间=2100/20=105秒 中间结果大小=10000(减少1000倍) 写中间结果时间=10000/10/20=50秒
②б
读数据时间=50秒
③П
总时间=105+50+50秒=205秒=3.4分
●
一个实例第十页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化概述3.Q2=ПSname(StudentбSC.Cno='2'(SC))
①б 读SC表总块数=10000/100=100块 读数据时间=100/20=5秒
中间结果大小=50条不必写入外存
② 读Student表总块数=1000/10=100块 读数据时间=100/20=5秒
③П
总时间=5+5秒=10秒
●
一个实例第十一页,共十七页,2022年,8月28日4.2关系系统的查询优化查询优化的一般准则选择运算应尽可能先做
在执行连接操作前对关系适当进行预处理投影运算和选择运算同时做将投影运算与其前后的双目运算结合选择运算和笛卡尔积运算结合提取公共子表达式第十二页,共十七页,2022年,8月28日4.2关系系统的查询优化关系代数等价变换规则l.连接、笛卡尔积交换律2.连接、笛卡尔积的结合律3.投影的串接定律4.选择的串接定律5.选择与投影的交换律6.选择与笛卡尔积的交换律7.选择与并的交换8.选择与差运算的交换9.投影与笛卡尔积的交换l0.投影与并的交换第十三页,共十七页,2022年,8月28日4.2关系系统的查询优化关系代数表达式的优化算法分解选择运算通过交换选择运算,将其尽可能移到叶端通过交换投影运算,将其尽可能移到叶端合并串接的选择和投影,以便能同时执行或在一次扫描中完成对内结点分组生成程序第十四页,共十七页,2022年,8月28日4.2关系系统的查询优化优化的一般步骤1.把查询转换成某种内部表示2.代数优化:把语法树转换成标准(优化)形式3.物理优化:选择低层的存取路径4.生成查询计划,选择代价最小的
第十五页,共十七页,2022年,8月28日4.2关系系统的查询优化优化的一般步骤student.Sno=Sc.SnoSc.Sno=‘2’XStudentSCSnamexstudent.Sno=Sc.SnoSc.Sno=‘2’SnameSCStudentstudentSCJoin(student.Sno=SC.Sno)Select(SC.Cno=‘2’)Proje
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业信息化建设实施方案及阶段目标
- 苏教版七年级上册美术试题
- 小学阶段环境保护主题教育活动
- 中考生物重点难题解析集锦
- 医院病历资料归档管理细则
- 清洁员工安全知识培训
- 清洁员培训课件
- 患者体液消毒护理方法
- 三年级课外阅读材料及理解题共览
- 幼儿园大型活动安全保障措施
- 2025山西大地环境投资控股有限公司社会招聘116人参考笔试题库及答案解析
- 2025版32375电石生产安全技术规范
- 供热管网施工技术规范
- 提高约束带使用规范率
- 阿扎胞苷课件
- 沈阳市行道树栽植现状分析与发展对策
- 建筑工程智能防火系统设计与应用考核试卷
- 健康体检重要异常结果管理专家共识2025
- TCNAS50-2025成人吞咽障碍患者口服给药护理学习解读课件
- 工程概算编制方案
- 可持续采购培训
评论
0/150
提交评论