数据库系统概论(第五版)PPT第9章PPT文件格式下载.ppt
- 文档编号:15560687
- 上传时间:2022-11-05
- 格式:PPT
- 页数:103
- 大小:783.50KB
数据库系统概论(第五版)PPT第9章PPT文件格式下载.ppt
《数据库系统概论(第五版)PPT第9章PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论(第五版)PPT第9章PPT文件格式下载.ppt(103页珍藏版)》请在冰豆网上搜索。
指关系代数表达式的优化n物理优化:
指存取路径和底层操作算法的选择物理优化:
指存取路径和底层操作算法的选择AnIntroductiontoDatabaseSystem9.1关系数据库系统的查询处理关系数据库系统的查询处理9.1.1查询处理步骤查询处理步骤9.1.2实现查询操作的算法示例实现查询操作的算法示例AnIntroductiontoDatabaseSystem9.1.1查询处理步骤查询处理步骤v关系数据库管理系统查询处理阶段关系数据库管理系统查询处理阶段:
1.查询分析查询分析2.查询检查查询检查3.查询优化查询优化4.查询执行查询执行AnIntroductiontoDatabaseSystem查询处理步骤(续)查询处理步骤(续)查询计划的执行代码查询计划的执行代码代数优化代数优化物理优化等物理优化等查询语句查询语句词法分析词法分析语法分析语法分析语义分析语义分析符号名转换符号名转换安全性检查安全性检查完整性初步检查完整性初步检查代码生成代码生成查询执行计划查询执行计划查询树查询树(querytree)查询分析查询分析查询检查查询检查查询优化查询优化查询执行查询执行数据库数据库数据字典数据字典AnIntroductiontoDatabaseSystem1.查询分析查询分析v查询分析的任务:
对查询语句进行扫描查询分析的任务:
对查询语句进行扫描、词法分词法分析析和和语法分析语法分析n词法分析:
从查询语句中识别出正确的语言符号词法分析:
从查询语句中识别出正确的语言符号n语法分析:
进行语法检查语法分析:
进行语法检查AnIntroductiontoDatabaseSystem2.查询检查查询检查v查询检查的任务查询检查的任务n合法权检查合法权检查n视图转换视图转换n安全性检查安全性检查n完整性初步检查完整性初步检查v根据数据字典中有关的模式定义检查语句中的数根据数据字典中有关的模式定义检查语句中的数据库对象,如关系名、属性名是否存在和有效据库对象,如关系名、属性名是否存在和有效v如果是对视图的操作,则要用视图消解方法把对如果是对视图的操作,则要用视图消解方法把对视图的操作转换成对基本表的操作视图的操作转换成对基本表的操作AnIntroductiontoDatabaseSystem2.查询检查查询检查v根据数据字典中的用户权限和完整性约束定义对根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查用户的存取权限进行检查v检查通过后把检查通过后把SQL查询语句转换成内部表示,即查询语句转换成内部表示,即等价的等价的关系代数表达式关系代数表达式。
v关系数据库管理系统一般都用查询树,也称为语关系数据库管理系统一般都用查询树,也称为语法分析树法分析树来表示扩展的关系代数表达式。
来表示扩展的关系代数表达式。
AnIntroductiontoDatabaseSystem3.查询优化查询优化v查询优化:
选择一个高效执行的查询处理策略查询优化:
选择一个高效执行的查询处理策略v查询优化分类查询优化分类n代数优化代数优化/逻辑优化:
指关系代数表达式的优化逻辑优化:
指关系代数表达式的优化n物理优化:
指存取路径和底层操作算法的选择v查询优化的选择依据查询优化的选择依据n基于规则基于规则(rulebased)n基于代价基于代价(costbased)n基于语义基于语义(semanticbased)AnIntroductiontoDatabaseSystem4.查询执行查询执行v依据优化器得到的执行策略生成查询执行计划依据优化器得到的执行策略生成查询执行计划v代码生成器代码生成器(codegenerator)生成执行查询计划生成执行查询计划的代码的代码v两种执行方法两种执行方法n自顶向下自顶向下n自底向上自底向上AnIntroductiontoDatabaseSystem9.1关系数据库系统的查询处理关系数据库系统的查询处理9.1.1查询处理步骤查询处理步骤9.1.2实现查询操作的算法示例实现查询操作的算法示例AnIntroductiontoDatabaseSystem9.1.2实现查询操作的算法示例实现查询操作的算法示例1.选择操作的实现选择操作的实现2.连接操作的实现连接操作的实现AnIntroductiontoDatabaseSystem1.选择操作的实现选择操作的实现v选择操作典型实现方法:
选择操作典型实现方法:
(1)全表扫描方法全表扫描方法(TableScan)l对查询的基本表顺序扫描,逐一检查每个元组是否满足对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出选择条件,把满足条件的元组作为结果输出l适合小表,不适合大表适合小表,不适合大表
(2)索引扫描方法)索引扫描方法(IndexScan)l适合于选择条件中的属性上有索引适合于选择条件中的属性上有索引(例如例如B+树索引或树索引或Hash索引索引)l通过索引先找到满足条件的元组主码或元组指针,再通通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组过元组指针直接在查询的基本表中找到元组AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)v例例9.1SELECT*FROMStudentWHERE考虑考虑的几种情况:
的几种情况:
C1:
无条件;
:
C2:
Sno201215121;
C3:
Sage20;
C4:
SdeptCSANDSage20;
AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)v全表扫描算法全表扫描算法n假设可以使用的内存为假设可以使用的内存为M块,全表扫描算法思想:
块,全表扫描算法思想:
按照物理次序读按照物理次序读Student的的M块到内存块到内存检查内存的每个元组检查内存的每个元组t,如果满足选择条件,则输出,如果满足选择条件,则输出t如果如果student还有其他块未被处理,重复还有其他块未被处理,重复和和AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)v索引扫描算法索引扫描算法v例例9.1-C2SELECT*FROMStudentWHERESno=201215121n假设假设Sno上有索引上有索引(或或Sno是散列码是散列码)n算法:
算法:
l使用索引使用索引(或散列或散列)得到得到Sno为为201215121元组的指针元组的指针l通过元组指针在通过元组指针在Student表中检索到该学生表中检索到该学生AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)v例例9.1-C3SELECT*FROMStudentWHERESage20n假设假设Sage上有上有B+树索引树索引n算法:
l使用使用B+树索引找到树索引找到Sage=20的索引项,以此为入口点在的索引项,以此为入口点在B+树的顺序集上得到树的顺序集上得到Sage20的所有元组指针的所有元组指针l通过这些元组指针到通过这些元组指针到student表中检索到所有年龄大于表中检索到所有年龄大于20的学生。
的学生。
AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)v例例9.1-C4SELECT*FROMStudentWHERESdept=CSANDSage20;
n假设假设Sdept和和Sage上都有索引上都有索引n算法一:
分别用算法一:
分别用IndexScan找到找到SdeptCS的一组元组的一组元组指针和指针和Sage20的另一组元组指针的另一组元组指针l求这两组指针的交集求这两组指针的交集l到到Student表中检索表中检索l得到计算机系年龄大于得到计算机系年龄大于20的学生的学生AnIntroductiontoDatabaseSystem选择操作的实现(续)选择操作的实现(续)n算法二:
找到算法二:
找到Sdept=CS的一组元组指针,的一组元组指针,l通过这些元组指针到通过这些元组指针到Student表中检索表中检索l并对得到的元组检查另一些选择条件并对得到的元组检查另一些选择条件(如如Sage20)是否满足是否满足l把满足条件的元组作为结果输出。
把满足条件的元组作为结果输出。
AnIntroductiontoDatabaseSystem2.连接操作的实现连接操作的实现v连接操作是查询处理中最耗时的操作之一连接操作是查询处理中最耗时的操作之一v本节只讨论等值连接本节只讨论等值连接(或自然连接或自然连接)最常用的实现算最常用的实现算法法v例例9.2SELECT*FROMStudent,SCWHEREStudent.Sno=SC.Sno;
AnIntroductiontoDatabaseSystem连接操作的实现(续)连接操作的实现(续)
(1)嵌套循环算法)嵌套循环算法(nestedloopjoin)
(2)排序)排序-合并算法合并算法(sort-mergejoin或或mergejoin)(3)索引连接)索引连接(indexjoin)算法算法(4)HashJoin算法算法AnIntroductiontoDatabaseSystem连接操作的实现(续)连接操作的实现(续)
(1)嵌套循环算法)嵌套循环算法(nestedloopjoin)n对外层循环对外层循环(Student表表)的每一个元组的每一个元组(s),检索内层循,检索内层循环环(SC表表)中的每一个元组中的每一个元组(sc)n检查这两个元组在连接属性检查这两个元组在连接属性(Sno)上是否相等上是否相等n如果满足连接条件,则串接后作为结果输出,直到外如果满足连接条件,则串接后作为结果输出,直到外层循环表中的元组处理完为止。
层循环表中的元组处理完为止。
v参见爱课程网参见爱课程网9.1节动画节动画连接操作的实现连接操作的实现
(1)-嵌嵌套循环套循环AnIntroductiontoDatab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 第五 PPT