第9章 查询优化精选文档.ppt
《第9章 查询优化精选文档.ppt》由会员分享,可在线阅读,更多相关《第9章 查询优化精选文档.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 查询优化查询优化本讲稿第一页,共四十四页An Introduction to Database System第九章第九章 关系系统及其查询优化关系系统及其查询优化9.1关系系统9.2关系系统的查询优化9.3小结本讲稿第二页,共四十四页An Introduction to Database System关系系统关系系统v能够在一定程度上支持关系模型的数据库管理系统是关系系统。v由于关系模型中并非每一部分都是同等重要的v并不苛求一个实际的关系系统必须完全支持关系模型。本讲稿第三页,共四十四页An Introduction to Database System关系系统与关系模型关系系统与
2、关系模型v关系数据结构域及域上定义的关系v关系操作并、交、差、广义笛卡尔积、选择、投影、连接、除等v关系完整性实体完整性、参照完整性、用户自己定义的完整性本讲稿第四页,共四十四页An Introduction to Database System关系系统的定义关系系统的定义 一个数据库管理系统可定义为关系系统,当且仅当它至少支持:1.关系数据库(即关系数据结构)系统中只有表这种结构2.支持选择、投影和(自然)连接运算对这些运算不要求用户定义任何物理存取路径对关系系统的最低要求本讲稿第五页,共四十四页An Introduction to Database System关系系统的定义关系系统的定义
3、 不支持关系数据结构的系统显然不能称为关系系统仅支持关系数据结构,但没有选择、投影和连接运算功能的系统仍不能算作关系系统。原因:不能提高用户的生产率v支持选择、投影和连接运算,但要求定义物理存取路径,这种系统也不能算作真正的关系系统原因:就降低或丧失了数据的物理独立性v选择、投影、连接运算是最有用的运算本讲稿第六页,共四十四页An Introduction to Database System9.1.2 关系系统的分类关系系统的分类 v分类依据:支持关系模型的程度v分类表式系统:支持关系数据结构(即表)(最小)关系系统支持:关系数据结构;选择、投影、连接关系操作关系完备的系统支持:关系数据结构
4、;所有的关系代数操作全关系系统支持:关系模型的所有特征本讲稿第七页,共四十四页An Introduction to Database System关系系统的分类关系系统的分类(续)(续)数据结构数据结构数据操作数据操作完整性完整性表式系统表式系统表表 (最小最小)关系系统关系系统表表选选择择、投投影影、连接连接 关系完备的系统关系完备的系统表表 全关系系统全关系系统 本讲稿第八页,共四十四页An Introduction to Database System第四章第四章 关系系统及其查询优化关系系统及其查询优化9.1 关系系统关系系统9.2 关系系统的查询优化关系系统的查询优化9.3 小结小结
5、本讲稿第九页,共四十四页An Introduction to Database System9.2 关系系统的查询优化关系系统的查询优化 9.2.1 查询优化概述查询优化概述9.2.2 查询优化的必要性查询优化的必要性9.2.3 查询优化的一般准则查询优化的一般准则9.2.4 关系代数等价变换规则关系代数等价变换规则9.2.5 关系代数表达式的优化算法关系代数表达式的优化算法9.2.6 优化的一般步骤优化的一般步骤 本讲稿第十页,共四十四页An Introduction to Database System9.2.1 查询优化概述查询优化概述v查询优化的必要性查询优化的必要性查询优化极大地影响
6、查询优化极大地影响RDBMS的性能。的性能。v查询优化的可能性查询优化的可能性关系数据语言的关系数据语言的级别很高级别很高,使,使DBMS可以从关系表可以从关系表达式中分析查询达式中分析查询语义语义。本讲稿第十一页,共四十四页An Introduction to Database System由由DBMS进行查询优化的好处进行查询优化的好处v用用户户不不必必考考虑虑如如何何最最好好地地表表达达查查询询以以获获得得较较好好的的效率效率v系统可以比用户程序的系统可以比用户程序的优化优化做得更好做得更好(1)优优化化器器可可以以从从数数据据字字典典中中获获取取许许多多统统计计信信息息,而而用用户户程
7、程序序则难以获得这些信息则难以获得这些信息 本讲稿第十二页,共四十四页An Introduction to Database System由由DBMS进行查询优化的好处进行查询优化的好处(2)如如果果数数据据库库的的物物理理统统计计信信息息改改变变了了,系系统统可可以以自自动动对对查查询询重重新新优优化化以以选选择择相相适应的执行计划。适应的执行计划。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。(3)优优化化器器可可以以考考虑虑数数百百种种不不同同的的执执行行计计划划,而而程程序序员员一一般般只只能能考
8、考虑虑有有限限的的几几种可能性种可能性。(4)优化器中包括了很多复杂的优化技术优化器中包括了很多复杂的优化技术本讲稿第十三页,共四十四页An Introduction to Database System查询优化目标查询优化目标v查询优化的总目标查询优化的总目标 选择有效策略,求得给定关系表达式的值选择有效策略,求得给定关系表达式的值v实际系统的查询优化步骤实际系统的查询优化步骤1.将查询转换成某种内部表示,通常是语法树将查询转换成某种内部表示,通常是语法树2.根据一定的等价变换规则把语法树转换成标准根据一定的等价变换规则把语法树转换成标准(优化)形式(优化)形式本讲稿第十四页,共四十四页An
9、 Introduction to Database System实际系统的查询优化步骤实际系统的查询优化步骤3.选择低层的操作算法选择低层的操作算法对于语法树中的每一个操作对于语法树中的每一个操作计算各种执行算法的执行代价计算各种执行算法的执行代价选择代价小的执行算法选择代价小的执行算法4.生成查询计划生成查询计划(查询执行方案查询执行方案)查询计划是由一系列内部操作组成的。查询计划是由一系列内部操作组成的。本讲稿第十五页,共四十四页An Introduction to Database System代价模型代价模型v集中式数据库集中式数据库单用户系统单用户系统总代价总代价=I/O代价代价+C
10、PU代价代价多用户系统多用户系统总代价总代价=I/O代价代价+CPU代价代价+内存代价内存代价v分布式数据库分布式数据库 总代价总代价=I/O代价代价+CPU代价代价+内存代价内存代价+通信代价通信代价 本讲稿第十六页,共四十四页An Introduction to Database System9.2.2 查询优化的必要性查询优化的必要性 例:求选修了课程2的学生姓名SELECTS.SnameFROMS,SCWHERES.Sno=SC.SnoANDSC.Cno=C2;本讲稿第十七页,共四十四页An Introduction to Database System查询优化的必要性(续)查询优化的
11、必要性(续)假设1:外存:S:1000条,SC:10000条,选修C2号课程:50条假设2:一个内存块装元组:10条S,或100条SC,内存中一次可以存放:5块S元组,1块SC元组和若干块连接结果元组假设3:读写速度:20块/秒假设4:连接方法:基于数据块的嵌套循环法本讲稿第十八页,共四十四页An Introduction to Database System执行策略执行策略11s,name(S.Sno=SC.SnoSC.Cno=2(SSC)SSC读取总块数=读S表块数+读SC表遍数*每遍块数=1000/10+(1000/(105)(10000/100)=100+20100=2100读数据时间
12、=2100/20=105秒本讲稿第十九页,共四十四页An Introduction to Database System不同的执行策略不同的执行策略,考虑考虑I/O时间时间中间结果大小=1000*10000=107(1千万条元组)写中间结果时间=10000000/10/20=50000秒读数据时间=50000秒总时间=1055000050000秒=100105秒=27.8小时本讲稿第二十页,共四十四页An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续)2.2,name(SC.Cno=2(SSC)读取总块数=2100块读数据时间=210
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 查询优化精选文档 查询 优化 精选 文档
限制150内