第四章关系系统的查询优化精选文档.ppt
《第四章关系系统的查询优化精选文档.ppt》由会员分享,可在线阅读,更多相关《第四章关系系统的查询优化精选文档.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章关系系统的查第四章关系系统的查询优化询优化本讲稿第一页,共五十二页第四章第四章关系系统的查询优化关系系统的查询优化4.1关系系统关系系统4.2查询优化处理查询优化处理数数据据库库系系统统原原理理本讲稿第二页,共五十二页第四章第四章 关系系统的查询优化关系系统的查询优化学习要求学习要求 了解关系系统的基本概念及分类标准,初步了解了解关系系统的基本概念及分类标准,初步了解查询处理的基本步骤,理解查询优化的意义,掌握关查询处理的基本步骤,理解查询优化的意义,掌握关系代数优化的算法及相应的等价变换。系代数优化的算法及相应的等价变换。学习重点学习重点利用关系优化规则对关系语法树进行优化。利用关系优
2、化规则对关系语法树进行优化。数数据据库库系系统统原原理理本讲稿第三页,共五十二页第四章第四章关系系统的查询优化关系系统的查询优化4.1关系系统关系系统4.2查询优化处理查询优化处理数数据据库库系系统统原原理理本讲稿第四页,共五十二页第一节第一节 关系系统关系系统关系模型关系模型关系数据结构关系数据结构域及域上定义的关系域及域上定义的关系关系操作关系操作关系代数:并、交、差、广义笛卡尔积、选择、投关系代数:并、交、差、广义笛卡尔积、选择、投影、连接、除等影、连接、除等 关系完整性关系完整性实体完整性、参照完整性、用户自己定义的完整性实体完整性、参照完整性、用户自己定义的完整性关关系系系系统统的的
3、查查询询优优化化本讲稿第五页,共五十二页关系系统关系系统(续续)关系系统的定义关系系统的定义能能够够在在一一定定程程度度上上支支持持关关系系模模型型的的数数据据库库管管理系统是关系系统。理系统是关系系统。定定义义4.1一个系统是关系系统当且仅当它:一个系统是关系系统当且仅当它:支支持持关关系系数数据据库库(即即关关系系数数据据结结构构)。从从用用户户观观点点看看,数数据据库库是是由由表表构构成成的的,并并且且系系统统中只有表这种结构。中只有表这种结构。支支持持选选择择、投投影影和和(自自然然)连连接接运运算算。对对这这些运算不要求用户定义任何物理存取路径。些运算不要求用户定义任何物理存取路径。
4、关关系系系系统统的的查查询询优优化化本讲稿第六页,共五十二页二、关系系统的分类二、关系系统的分类 分类依据分类依据 依据关系系统支持关系模型的程度不同。依据关系系统支持关系模型的程度不同。分类分类S:结结构构I:完整性:完整性M:数据操:数据操纵纵关关系系系系统统的的查查询询优优化化本讲稿第七页,共五十二页数据结构数据结构数据操纵数据操纵数据完整性数据完整性 表式结构表式结构表表 最小关系系统最小关系系统表表选择、投影、连接选择、投影、连接关系完备的系统关系完备的系统表表全部全部 全关系系统全关系系统全部全部全部全部完全支持完全支持关系系统的分类关系系统的分类(续)(续)关关系系系系统统的的查
5、查询询优优化化本讲稿第八页,共五十二页第二节第二节 关系系统的查询优化关系系统的查询优化 关系系统的查询处理关系系统的查询处理查询优化概述查询优化概述查询优化问题的提出查询优化问题的提出关系代数的优化规则关系代数的优化规则关系代数的优化算法关系代数的优化算法查询优化的一般步骤查询优化的一般步骤 关关系系系系统统的的查查询询优优化化本讲稿第九页,共五十二页一、关系系统的查询处理一、关系系统的查询处理1、查询处理步骤、查询处理步骤关关系系系系统统的的查查询询优优化化查询语句转化成关系代查询语句转化成关系代数表达式数表达式本讲稿第十页,共五十二页关系系统的查询处理(续)关系系统的查询处理(续)2、实
6、现查询操作的算法示例、实现查询操作的算法示例例例4.1选择操作的实现选择操作的实现Select*FromStudentWhere;的几种情况:的几种情况:C1:Sno=95001C2:Sage20简单的全表扫描方法简单的全表扫描方法对查询的基本表顺序扫描,逐一检查每个元对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结组是否满足选择条件,把满足条件的元组作为结果输出。果输出。关关系系系系统统的的查查询询优优化化本讲稿第十一页,共五十二页 选择操作的实现示例(续)选择操作的实现示例(续)索引扫描方法索引扫描方法 通过索引先找到满足条件的元组主码或元组通过索引先找到满
7、足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找指针,再通过元组指针直接在查询的基本表中找到元组。到元组。【C1例例】Sno=95001,并且在,并且在Sno上有索引,上有索引,则则可可以使用索引得到以使用索引得到Sno为为95001元元组组的指的指针针,然后通,然后通过过元元组组指指针针在在Student表中表中检检索到索到该该学生。学生。【C2例例】Sage20,并且,并且Sage上有上有B+树树索引,索引,则则可以可以使用使用B+树树索引找到索引找到Sage=20的索引的索引项项,以此,以此为为入口点在入口点在B+树树的的顺顺序集上得到序集上得到Sage20的所有元的所有
8、元组组指指针针,然后通,然后通过这过这些元些元组组指指针针到到Student表中表中检检索到所有年索到所有年龄龄大于大于20的学生。的学生。关关系系系系统统的的查查询询优优化化本讲稿第十二页,共五十二页Sage20的一的一组组元元组组指指针针【C3例例】Sdept=CSAndSage20,如果,如果Sdept和和Sage上都上都有索引,有索引,则则:另一种算法:另一种算法:关关系系系系统统的的查查询询优优化化 选择操作的实现示例(续)选择操作的实现示例(续)Sdept=CS的一的一组组元元组组指指针针Sdept=CS的的一一组组元元组组指指针针Sdept=CS的一的一组组元元组组指指针针Sag
9、e20的一的一组组元元组组指指针针指指针针交交集集满足条件的学生信息满足条件的学生信息Student表表Student表表Sage20的一的一组组元元组组指指针针满足条件的学满足条件的学生信息生信息满满足足Sdept=CS条件的元条件的元组组信息信息本讲稿第十三页,共五十二页实现查询操作的算法示例(续)实现查询操作的算法示例(续)例例4.2连连接操作的接操作的实现实现Select*FromStudent,SCWhereStudent.Sno=SC.Sno嵌套循环方法嵌套循环方法关关系系系系统统的的查查询询优优化化学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sde
10、pt95002950019500395004李勇李勇刘晨刘晨王敏王敏张立张立男男女女女女男男20191819CSISMAISStudent学号学号Sno课程号课程号Cno成绩成绩Grade9500195002950019500295002123239290888580SC对对Student中的每一个元中的每一个元组组,检查检查SC中的每一个元中的每一个元组组,若在,若在连连接属性上相接属性上相等,等,则连则连接接输输出,直到出,直到Student中的元中的元组处组处理完理完为为止。止。本讲稿第十四页,共五十二页 连接操作的实现(续)连接操作的实现(续)排序排序-合并方法合并方法学号学号Sno姓
11、名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept95001950029500395004李勇李勇刘晨刘晨王敏王敏张立张立男男女女女女男男20191819CSISMAISStudent学号学号Sno课程号课程号Cno成绩成绩Grade9500195001950019500295002123239285889080SC关关系系系系统统的的查查询询优优化化取取Student表中第一个表中第一个Sno,依次,依次扫扫描描SC表中具有相同表中具有相同Sno的元的元组组,把他,把他们连们连接起来;接起来;当当扫扫描到描到Sno不相同的第一个不相同的第一个SC元元组时组时,返回,返回S
12、tudent表表扫扫描它描它的下一个元的下一个元组组,再,再扫扫描描SC表中具有相同表中具有相同Sno的元的元组组,把它,把它们连们连接接起来。起来。本讲稿第十五页,共五十二页二、查询优化概述二、查询优化概述查询优查询优化是从众多可供化是从众多可供选择选择的的执执行策略和操行策略和操作算法中,作算法中,选择选择一个高效一个高效执执行的行的查询处查询处理策略。理策略。按照按照优优化的化的层层次可以分次可以分为为代数代数优优化和物理化和物理优优化。化。代数代数优优化:化:是指关系代数表达式的是指关系代数表达式的优优化,按照化,按照一定的一定的规则规则,改,改变变代数表达式中操作的次序和代数表达式中
13、操作的次序和组组合,使合,使查询执查询执行效率更高。行效率更高。物理物理优优化:化:则则是指存取路径和底是指存取路径和底层层操作算法的操作算法的选择选择。关关系系系系统统的的查查询询优优化化本讲稿第十六页,共五十二页 查询优化概述(续)查询优化概述(续)目目前前RDBMS通通过过某某种种代代价价模模型型计计算算出出各各种种查查询询执执行行策策略的略的执执行代价,然后行代价,然后选选取代价最小的取代价最小的执执行方案。行方案。查询查询的的执执行开行开销销主要包括主要包括集中式数据集中式数据库库磁磁盘盘存取存取块块数(数(I/O代价)代价)处处理机理机时间时间(CPU代价)代价)查询查询的内存开的
14、内存开销销分布式数据分布式数据库库I/O代价代价+CPU代价代价+内存代价内存代价+通信代价通信代价查询优查询优化的化的总总目目标标选选择择有有效效策策略略,求求得得给给定定关关系系表表达达式式的的值值,使得使得查询查询代价最小。代价最小。关关系系系系统统的的查查询询优优化化本讲稿第十七页,共五十二页三、查询优化问题的提出三、查询优化问题的提出例例4.3:求:求选选修了修了2号号课课程的学生姓名程的学生姓名SELECTStudent.SnameFROMStudent,SCWHEREStudent.Sno=SC.SnoANDSC.Cno=2;系统可以用多种等价的关系代数表达式来完系统可以用多种等
15、价的关系代数表达式来完成这一查询。成这一查询。关关系系系系统统的的查查询询优优化化本讲稿第十八页,共五十二页查询优化问题的提出(续)查询优化问题的提出(续)假假设设1外存:外存:Student表中有表中有1000条学生条学生记录记录SC表中有表中有10000条条选课记录选课记录 其中其中选选修修2号号课课程的程的选课记录为选课记录为50条条假假设设2内存:内存:一个内存一个内存块块可以装可以装10个个Student元元组组或或100个个SC元元组组一个内存一个内存块块可以装可以装10个个Student和和SC的的连连接接结结果元果元组组内存中一次可以存放内存中一次可以存放5块块Student元
16、元组组、1块块SC元元组组和和若干若干块连块连接接结结果元果元组组假假设设3读读写速度:写速度:20块块/秒秒假假设设4连连接方法:接方法:基于数据基于数据块块的嵌套循的嵌套循环环法法关关系系系系统统的的查查询询优优化化本讲稿第十九页,共五十二页1、第一种方法、第一种方法关关系系系系统统的的查查询询优优化化查询优化问题的提出(续)查询优化问题的提出(续)内存块内存块100Student表表SC表表内存块内存块1内存块内存块2内存块内存块3内存块内存块4内存块内存块5一般连接的方法:一般连接的方法:内存块内存块1内存块内存块2内存块内存块100读读Student表表100块块,读读SC表表20遍
17、,每遍遍,每遍100块块。本讲稿第二十页,共五十二页计计算广算广义义笛卡笛卡尔尔集集StudentSC读读取取总块总块数数=读读Student表表块块数数+读读SC表遍数表遍数*每遍每遍块块数数=1000/10+(1000/(105)(10000/100)=100+20100=2100读读数据数据时间时间=2100/20=105秒秒中中间结间结果大小(果大小(连连接后的元接后的元组组数)数)=1000*10000=107(1千万条元千万条元组组)写中写中间结间结果果时间时间=10000000/10/20=50000秒秒选择选择操作操作读读数据数据时间时间=50000秒秒投影操作投影操作总时间总
18、时间=1055000050000秒秒=100105秒秒=27.8小小时时关关系系系系统统的的查查询询优优化化第一种方法(续)第一种方法(续)本讲稿第二十一页,共五十二页2、第二种方法、第二种方法计计算自然算自然连连接接读读取取总块总块数数=2100块块读读数据数据时间时间=2100/20=105秒秒中中间结间结果大小果大小=10000(减少(减少1000倍)倍)写中写中间结间结果果时间时间=10000/10/20=50秒秒选择选择操作操作读读取中取中间间文件文件块块,执执行行选择选择运算,花运算,花费时间费时间50秒秒投影操作投影操作把第二步的把第二步的结结果投影果投影输输出出总时间总时间(1
19、055050)秒秒205秒秒=3.4分分关关系系系系统统的的查查询询优优化化查询优化问题的提出(续)查询优化问题的提出(续)本讲稿第二十二页,共五十二页3、第三种方法、第三种方法 Q3=Sname(Student SC.Cno=2(SC)选择选择操作操作读读SC表表总块总块数数=10000/100=100块块读读数据数据时间时间=100/20=5秒秒中中间结间结果大小果大小=50条(条(满满足条件的元足条件的元组组只有只有50个),不个),不必使用中必使用中间间文件。文件。自然自然连连接操作接操作读读Student表表总块总块数数=1000/10=100块块(只需(只需读读一遍一遍该该表)表)
20、读读数据数据时间时间=100/20=5秒秒投影操作投影操作把把连连接接结结果投影果投影输输出。出。总时间总时间55秒秒10秒秒关关系系系系统统的的查查询询优优化化查询优化问题的提出(续)查询优化问题的提出(续)本讲稿第二十三页,共五十二页四、关系代数的优化规则四、关系代数的优化规则关关系系代代数数优优化化策策略略是是通通过过对对关关系系代代数数表表达达式式的的等等价变换来提高查询效率。价变换来提高查询效率。关系代数表达式等价关系代数表达式等价指指把把相相同同的的关关系系代代入入两两个个关关系系代代数数表表达达式式所所得得到到的的结结果果是相同的。是相同的。两个关系表达式两个关系表达式E1和和E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 关系 系统 查询 优化 精选 文档
限制150内