书签 分享 收藏 举报 版权申诉 / 57
上传文档赚钱

类型数据库系统概论关系系统及其查询优化重点课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2987069
  • 上传时间:2022-06-19
  • 格式:PPT
  • 页数:57
  • 大小:291KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库系统概论关系系统及其查询优化重点课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 系统 概论 关系 及其 查询 优化 重点 课件
    资源描述:

    1、An Introduction to Database System中国人民大学信息学院计算机系中国人民大学信息学院计算机系数据库系统概论数据库系统概论An Introduction to Database System第四章第四章 关系系统及其查询优化关系系统及其查询优化An Introduction to Database System第四章第四章 关系系统及其查询优化关系系统及其查询优化4.1 关系系统4.2 关系系统的查询优化4.3 小结An Introduction to Database System关系系统关系系统n能够在一定程度上支持关系模型的数据库管理系统是关系系统。n由于关

    2、系模型中并非每一部分都是同等重要的n并不苛求一个实际的关系系统必须完全支持关系模型。 An Introduction to Database System关系系统与关系模型关系系统与关系模型n关系数据结构n域及域上定义的关系n关系操作n并、交、差、广义笛卡尔积、选择、投影、连接、除等 n关系完整性n实体完整性、参照完整性、用户自己定义的完整性An Introduction to Database System关系系统的定义关系系统的定义 一个数据库管理系统可定义为关系系统,当且仅当它至少支持:1. 关系数据库(即关系数据结构) 系统中只有表这种结构2. 支持选择、投影和(自然)连接运算 对这些

    3、运算不要求用户定义任何物理存取路径对关系系统的最低要求An Introduction to Database System关系系统的定义关系系统的定义 不支持关系数据结构的系统显然不能称为关系系统仅支持关系数据结构,但没有选择、投影和连接运算功能的系统仍不能算作关系系统。n原因:不能提高用户的生产率n支持选择、投影和连接运算,但要求定义物理存取路径,这种系统也不能算作真正的关系系统n原因:就降低或丧失了数据的物理独立性n选择、投影、连接运算是最有用的运算An Introduction to Database System4.1.2 关系系统的分类关系系统的分类 n分类依据:支持关系模型的程度n

    4、分类 表式系统:支持关系数据结构(即表) (最小)关系系统 支持:关系数据结构 选择、投影、连接关系操作 关系完备的系统 支持:关系数据结构 所有的关系代数操作 全关系系统 支持:关系模型的所有特征 特别是:数据结构中域的概念 An Introduction to Database System关系系统的分类关系系统的分类 (续)(续) 数据结构数据结构数据操作数据操作完整性完整性表式系统表式系统表表 (最小最小)关系系统关系系统表表选择、投影、选择、投影、连接连接 关系完备的系统关系完备的系统表表 全关系系统全关系系统 An Introduction to Database System第四

    5、章第四章 关系系统及其查询优化关系系统及其查询优化4.1 关系系统4.2 关系系统的查询优化4.3 小结An Introduction to Database System4.2 关系系统的查询优化关系系统的查询优化 4.2.1 查询优化概述4.2.2 查询优化的必要性4.2.3 查询优化的一般准则4.2.4 关系代数等价变换规则4.2.5 关系代数表达式的优化算法4.2.6 优化的一般步骤 An Introduction to Database System4.2.1 查询优化概述查询优化概述n查询优化的必要性n查询优化极大地影响RDBMS的性能。 n查询优化的可能性n关系数据语言的级别很高

    6、,使DBMS可以从关系表达式中分析查询语义。 An Introduction to Database System由由DBMS进行查询优化的好处进行查询优化的好处n用户不必考虑如何最好地表达查询以获得较好的效率n系统可以比用户程序的优化做得更好(1) 优化器可以从数据字典中获取许多统计信息,而用户程序则难以获得这些信息 An Introduction to Database System由由DBMS进行查询优化的好处进行查询优化的好处(2)如果数据库的物理统计信息改变了,系统可以自动对查询重新优化以选择相适应的执行计划。 在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。(3

    7、)优化器可以考虑数百种不同的执行计划,而程序员一般只能考虑有限的几种可能性。(4)优化器中包括了很多复杂的优化技术An Introduction to Database System查询优化目标查询优化目标n查询优化的总目标 选择有效策略,求得给定关系表达式的值n实际系统的查询优化步骤1. 将查询转换成某种内部表示,通常是语法树2. 根据一定的等价变换规则把语法树转换成标准 (优化)形式An Introduction to Database System实际系统的查询优化步骤实际系统的查询优化步骤3. 选择低层的操作算法对于语法树中的每一个操作n计算各种执行算法的执行代价n选择代价小的执行算法

    8、4. 生成查询计划(查询执行方案)n查询计划是由一系列内部操作组成的。An Introduction to Database System代价模型代价模型n集中式数据库n单用户系统总代价 = I/O代价 + CPU代价n多用户系统总代价 = I/O代价 + CPU代价 + 内存代价n分布式数据库 总代价 = I/O代价 + CPU代价+ 内存代价 + 通信代价 An Introduction to Database System4.2.2 查询优化的必要性查询优化的必要性 例:求选修了课程2的学生姓名 SELECT Student.SnameFROM Student, SCWHERE Stud

    9、ent.Sno=SC.SnoAND SC.Cno=2; An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续) 假设1:外存:Student:1000条,SC:10000条, 选修2号课程:50条假设2:一个内存块装元组:10个Student, 或100个SC, 内存中一次可以存放: 5块Student元组, 1块SC元组和若干块连接结果元组假设3:读写速度:20块/秒假设4:连接方法:基于数据块的嵌套循环法 An Introduction to Database System执行策略执行策略11 n a m e(S t u d e n

    10、 t . S n o =S C . S n o S C . C n o = 2 (StudentSC) StudentSC 读取总块数= 读Student表块数 + 读SC表遍数 *每遍块数 =1000/10+(1000/(105) (10000/100) =100+20100=2100 读数据时间=2100/20=105秒An Introduction to Database System不同的执行策略不同的执行策略,考虑考虑I/O时间时间中间结果大小 = 1000*10000 = 107 (1千万条元组)写中间结果时间 = 10000000/10/20 = 50000秒 读数据时间 = 5

    11、0000秒 总时间 =1055000050000秒 = 100105秒 = 27.8小时An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续) 2. 2 name(SC.Cno= 2 (Student SC) 读取总块数= 2100块读数据时间=2100/20=105秒中间结果大小=10000 (减少1000倍)写中间结果时间=10000/10/20=50秒 读数据时间=50秒 总时间1055050秒205秒=3.4分 An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续) 3.

    12、 2 Sname(Student SC.Cno= 2 (SC) 读SC表总块数= 10000/100=100块读数据时间=100/20=5秒 中间结果大小=50条 不必写入外存 读Student表总块数= 1000/10=100块读数据时间=100/20=5秒 总时间55秒10秒 An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续) 4. 2 name(Student SC.Cno=2 (SC)假设SC表在Cno上有索引,Student表在Sno上有索引 读SC表索引=读SC表总块数= 50/1001块读数据时间 中间结果大小=50条

    13、 不必写入外存An Introduction to Database System查询优化的必要性(续)查询优化的必要性(续) 读Student表索引=读Student表总块数= 50/10=5块读数据时间 总时间 连接运算 例:Student.Sno=SC.Sno (StudentSC) Student SCn提取公共子表达式An Introduction to Database System4.2.4 关系代数等价变换规则关系代数等价变换规则 n关系代数表达式等价n指用相同的关系代替两个表达式中相应的关系所得到的结果是相同的n上面的优化策略大部分都涉及到代数表达式的变换An Introdu

    14、ction to Database System常用的等价变换规则常用的等价变换规则设E1、E2等是关系代数表达式,F是条件表达式 l. 连接、笛卡尔积交换律E1 E2 E2E1E1 E2E2 E1 E1 F E2E2 F E1 An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) 2. 连接、笛卡尔积的结合律 (E1E2) E3 E1 (E2E3) (E1 E2) E3 E1 (E2 E3) (E1 E2) E3 E1 (E2 E3) F F F FAn Introduction to Database System关系代数

    15、等价变换规则(续)关系代数等价变换规则(续) 3. 投影的串接定律 A1,A2, ,An( B1,B2, ,Bm(E) A1,A2, ,An (E)假设:1)E是关系代数表达式2)Ai(i=1,2,n), Bj(j=l,2,m)是属性名3)A1, A2, , An构成Bl,B2,Bm的子集 An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) 4. 选择的串接定律 F1 ( F2(E) F1 F2(E)n选择的串接律说明 选择条件可以合并n这样一次就可检查全部条件。 An Introduction to Database Sy

    16、stem关系代数等价变换规则(续)关系代数等价变换规则(续) 5. 选择与投影的交换律(1)假设: 选择条件F只涉及属性A1,An F (A1,A2, ,An(E) A1,A2, ,An(F(E) (2)假设: F中有不属于A1, ,An的属性B1,Bm A1,A2, ,An ( F (E) A1,A2, ,An(F (A1,A2, ,An,B1,B2, ,Bm(E)An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) 6. 选择与笛卡尔积的交换律(1) 假设:F中涉及的属性都是E1中的属性 F (E1E2)F (E1)E2

    17、(2) 假设:F=F1F2,并且F1只涉及E1中的属性, F2只涉及E2中的属性 则由上面的等价变换规则1,4,6可推出: F(E1E2) F1(E1)F2 (E2) An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) (3) 假设: F=F1F2, F1只涉及E1中的属性, F2涉及E1和E2两者的属性 F(E1E2) F2(F1(E1)E2) 它使部分选择在笛卡尔积前先做 An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) 7. 选择与并的交换假设:E

    18、=E1E2,E1,E2有相同的属性名F(E1E2) F(E1) F(E2) 8. 选择与差运算的交换假设:E1与E2有相同的属性名F(E1-E2) F(E1) - F(E2) An Introduction to Database System关系代数等价变换规则(续)关系代数等价变换规则(续) 9. 投影与笛卡尔积的交换假设:E1和E2是两个关系表达式, A1,An是E1的属性, B1,Bm是E2的属性 A1,A2, ,An,B1,B2, ,Bm (E1E2) A1,A2, ,An(E1) B1,B2, ,Bm(E2)An Introduction to Database System关系代

    19、数等价变换规则(续)关系代数等价变换规则(续) l0. 投影与并的交换假设:E1和E2 有相同的属性名 A1,A2, ,An(E1E2) A1,A2, ,An(E1) A1,A2, ,An(E2) An Introduction to Database System小结小结1-2: 连接、笛卡尔积的交换律、结合律3: 合并或分解投影运算4: 合并或分解选择运算5-8: 选择运算与其他运算交换5,9,10: 投影运算与其他运算交换 An Introduction to Database System4.2 关系系统的查询优化关系系统的查询优化 4.2.1 查询优化概述4.2.2 查询优化的必要性

    20、4.2.3 查询优化的一般准则4.2.4 关系代数等价变换规则4.2.5 关系代数表达式的优化算法4.2.6 优化的一般步骤 An Introduction to Database System4.2.5 关系代数表达式的优化算法关系代数表达式的优化算法 算法:关系表达式的优化输入:一个关系表达式的语法树。输出:计算该表达式的程序。方法:(1)分解选择运算 利用规则4把形如F1 F2 Fn (E)变换为 F1 (F2( (Fn(E) ) An Introduction to Database System关系代数表达式的优化算法关系代数表达式的优化算法 (续续)(2)通过交换选择运算,将其尽可

    21、能移到叶端 对每一个选择,利用规则48尽可能把它移到树的叶端。 (3)通过交换投影运算,将其尽可能移到叶端对每一个投影利用规则3,9,l0,5中的一般形式尽可能把它移向树的叶端。 An Introduction to Database System关系代数表达式的优化算法关系代数表达式的优化算法 (续续)(4)合并串接的选择和投影,以便能同时执行或在一次扫描中完成n利用规则35把选择和投影的串接合并成单个选择、单个投影或一个选择后跟一个投影。n使多个选择或投影能同时执行,或在一次扫描中全部完成n尽管这种变换似乎违背“投影尽可能早做”的原则,但这样做效率更高。 An Introduction t

    22、o Database System关系代数表达式的优化算法关系代数表达式的优化算法 (续续)(5)对内结点分组n把上述得到的语法树的内节点分组。n每一双目运算(, ,-)和它所有的直接祖先为一组(这些直接祖先是,运算)。n如果其后代直到叶子全是单目运算,则也将它们并入该组,但当双目运算是笛卡尔积(),而且其后的选择不能与它结合为等值连接时除外。把这些单目运算单独分为一组。 An Introduction to Database System关系代数表达式的优化算法关系代数表达式的优化算法 (续续)(6)生成程序n生成一个程序,每组结点的计算是程序中的一步。n各步的顺序是任意的,只要保证任何一组

    23、的计算不会在它的后代组之前计算。 An Introduction to Database System4.2 关系系统的查询优化关系系统的查询优化 4.2.1 查询优化概述4.2.2 查询优化的必要性4.2.3 查询优化的一般准则4.2.4 关系代数等价变换规则4.2.5 关系代数表达式的优化算法4.2.6 优化的一般步骤 An Introduction to Database System4.2.6 优化的一般步骤优化的一般步骤 1把查询转换成某种内部表示2代数优化:把语法树转换成标准(优化) 形式3物理优化:选择低层的存取路径4生成查询计划,选择代价最小的 An Introduction

    24、to Database System优化的一般步骤优化的一般步骤 (续续)(1)把查询转换成某种内部表示例:求选修了课程2的学生姓名SELECT Student.SnameFROM Student, SCWHERE Student.Sno=SC.SnoAND SC.Cno=2; An Introduction to Database System(1)把查询转换成某种内部表示)把查询转换成某种内部表示语法树 结果结果project(Sname) select(SC.Cno= 2 ) join(Student.Sno=SC.Sno) StudentSCAn Introduction to Dat

    25、abase System关系代数语法树关系代数语法树Sname SC.Cno=2 Student.Sno=SC.S StudentSCAn Introduction to Database System(2)代数优化)代数优化利用优化算法把语法树转换成标准(优化)形式 Sname Student.Sno=SC.Sno SC.Cno= 2 StudentSCAn Introduction to Database System(3)物理优化:选择低层的存取路径)物理优化:选择低层的存取路径- 优化器查找数据字典获得当前数据库状态信息选择字段上是否有索引连接的两个表是否有序连接字段上是否有索引 然后

    26、根据一定的优化规则选择存取路径 如本例中若SC表上建有Cno的索引,则应该利用这个索引,而不必顺序扫描SC表。 An Introduction to Database System(4)生成查询计划,选择代价最小的)生成查询计划,选择代价最小的 在作连接运算时,若两个表(设为R1,R2)均无序,连接属性上也没有索引,则可以有下面几种查询计划: 对两个表作排序预处理 对R1在连接属性上建索引 对R2在连接属性上建索引 在R1,R2的连接属性上均建索引 对不同的查询计划计算代价,选择代价最小的一个。 在计算代价时主要考虑磁盘读写的I/O数,内存CPU处理时间在粗略计算时可不考虑。 An Intro

    27、duction to Database System第四章第四章 关系系统及其查询优化关系系统及其查询优化4.1 关系系统4.2 关系系统的查询优化4.3 小结An Introduction to Database System4.3 小结小结 n关系系统n关系系统的定义一个数据库管理系统可定义为关系系统,当且仅当它至少支持:1 关系数据库(即关系数据结构)2 支持选择、投影和(自然)连接运算, 且不要求用户定义任何物理存取路径 An Introduction to Database System小结小结 (续)(续)n关系系统的分类n表式系统n(最小)关系系统n关系完备系统n全关系系统 An Introduction to Database System小结小结 (续)(续)n关系系统的查询优化 n代数优化:关系代数表达式的优化n关系代数等价变换规则n关系代数表达式的优化算法 n物理优化:存取路径和低层操作算法的选择 An Introduction to Database System 下课了。下课了。休息一会儿。休息一会儿。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库系统概论关系系统及其查询优化重点课件.ppt
    链接地址:https://www.163wenku.com/p-2987069.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库