ImageVerifierCode 换一换
格式:PPT , 页数:51 ,大小:802KB ,
资源ID:447357      下载积分:12 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-447357.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6章查询处理和优化.ppt)为本站会员(ga****84)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

第6章查询处理和优化.ppt

1、第6章 查询处理和优化,6.1 引言,查询处理,查询优化,查询优化是查询处理中的重要一环,对关系DB尤其如此。, 从查询语句出发,到获得查询结果的处理过程。, DBMS对描述性语言表达的查询语句进行分析,为其确定合理、有效的执行策略和步骤的过程。,例如:12+64+88=?,查询优化是相对而言的,可能的执行策略很多,穷尽代价很大,不能片面追求绝对的最优。,(12+88)+64=164,数据库查询语言的处理过程:,(1)解释方式执行,优化占执行时间!,查询语句,(2)编译方式,CALL AM(参数),优化不占执行时间!,对于常见的例行事务,编译方式可提高性能。,对于简短的即时查询,解释方式灵活实

2、用。,解释方式和编译方式各适用于什么情况?,代数优化 对查询语句进行变换不涉及存取路径物理优化 根据存取路径选择合理的存取策略进行优化规则优化 仅根据启发式规则选择执行的策略进行优化代价估算优化,6.2 代数优化,代数优化对查询进行等效变换,以减少执行开销。,代数优化的原则是尽量减小查询过程中间结果的大小。,选择、投影操作通常能够有效地减小关系的大小。连接、迪卡尔乘积和并操作容易生成较大的查询中间结果。,因此,先做选择、投影;先做小关系间的连接,再做大关系的连接;甚至需要先找出查询中的公共表达式,以避免重复运算。,常用变换规则,1.,2.,3.,4.,6.,7.,8.,9.,10.,注意:规则

3、11中,对于连接运算,可能出现S与T之间无连接条件的情况,此时的连接运算成为迪卡尔乘积。,11.,范例p118例6-1,设有S(供应商),P(零件),SP(供应关系)三个关系,关系模式如下: S(SNUM,SNAME,CITY) P(PNUM,PNAME,WEIGHT,SIZE) SP(SNUM,PNUM,DEPT,QUAN),有如下查询Q : SELECT SNAME FROM S,P,SP WHERE S.SNUM = SP.SNUM AND SP.PNUM = P.PNUM AND S.CITY = NANJING AND P.PNAME = BOLT AND SP.QUAN 10000

4、,SQL语句转化为原始查询树 Select From Where,Q可用右图所示的原始查询树表示:,Q : SELECT SNAME FROM S,P,SP WHERE S.SNUM = SP.SNUM AND SP.PNUM = P.PNUM AND S.CITY = NANJING AND P.PNAME = BOLT AND SP.QUAN 10000,选择操作下压,选择操作尽量下压,原始查询树,先连接小关系,S,P,SP经选择后得S、P、SP,估算大小: |S|=|S|/NCITY |P|=|P|/NPNAME |SP|=|SP|(Vmax-10000)/(Vmax-Vmin),设|S

5、|P|, |SP|,S(j)B then jj+1 else if R(i)AS(j)B then ii+1 else /* R(i)A=S(j)B,输出连接元组*/,输出至T;/*输出R(i)和S中除S(j)外的其他元组所组成的连接元组 */lj+1;While(lm) and (R(i)A=S(l)B) do输出至T; ll+1;/*输出S(j)和R中除R(i)外的其他元组所组成的连接元组 */ki+1;While(kn) and (R(k)A=S(j)B) do输出至T; kk+1;ii+1,jj+1;,注意等值的扫描次数(假设pq):,1+(q-1)+(p-1)+1+(q-2)+(p-

6、2)+ +1+(q-p)+(p-p)=(p+q-1)+(p+q-2q+1)/2*p=p*q O(pq),4).散列连接法,连接属性R.A和S.B应具有相同的值域,用相同的散列函数,把R和S散列到同一散列文件中。符合连接条件的元组必然在同一通中(注意:同一桶中的元组未必都满足连接条件)。只需把桶中的匹配元组取出即可获得连接结果。,关键在于建立一个供连接用的散列文件。,可以在桶(散列文件)中不填入R、S的实际元组,而是代之以元组的tid,从而大大的缩小散列文件,使其有可能在内存中建立,而仅需对R、S各扫描一次。,建立散列文件需要对R、S各扫描一次,且关系R和S一般不会对连接属性进行簇集。故而,每向

7、散列文件加入一个元组,都需要一次I/O操作。,如何减少I/O次数?,扫描R和S时,取出A(R)、B(S),附在相应的tid后,连接时以桶为单位,按A(R)=B(S)找出匹配元组的tid对。,问题:似乎多此一举!匹配元组的tid一定在同一桶中!为什么还要按A(R)=B(S)找出匹配元组?这么做有必要么?,注意:A=B h(A)=h(B),但不一定有: h(A)=h(B) A=B,在取实际元组时,为减少物理块访问,可将各桶中,匹配元组的tid按块分类,一次集中取出同一块中所需的所有元组,当然这需要较大的内存开销。,连接方法的启发式规则,1)两个关系都已按连接属性排序,则优先用排序归并法;两个关系中

8、已有一个关系按连接属性排序,另一个关系较小,也可先对未排序关系按连接属性排序,再用排序归并法。2)两个关系中有一个关系在连接属性上有索引(特别是簇集索引)或散列,可以另一关系为外关系,顺序扫描,并利用内关系上的索引或散列寻找其匹配元组,以代替多遍扫描。3)不具备上述条件且关系较小,可用嵌套循环法。4)不具备1,2,3规则,可用散列连接法。,6.3.3 投影操作的实现,一般与选择、连接同时进行,无需附加的I/O开销。,若投影属性集中不包含主键,则投影结果中可能出现重复元组。,消除重复元组可以用排序或散列等方法。,散列法:将投影结果按某一属性或多个属性散列成一个文件,当一个元组被散列到一个桶中时,

9、可检查是否与桶中已有元组重复。,用排序法消除重复元组,对关系R的每个元组t,生成t,并存于T中;/* T 是未消除重复元组的投影结果*/If 含有R的主键 then TT elseT按所有属性排序; i1,j2; while(in) do输出元组T(i)到T;,while T(i)= T(j) do jj+1;/*消除重复元组,设有伪元组Tn+1Tn*/ij,ji+1; ,6.3.4 集合操作,常用集合操作:笛卡尔乘积、并、交、差等。,设关系R、S并兼容,对R、S进行并(交、差)操作,可以先将R和S按同一属性(通常选用主键)排序,然后扫描两个关系,选出所需的元组。,笛卡尔乘积将两个关系的元组无

10、条件地互相拼接,一般用嵌套循环法实现,做起来很费时,结果要比参与运算的关系大的多。应尽量少用!,散列是上述并交差操作的另一种求解方法: 将关系R散列到一个散列文件中,再将S散列到同一文件中。同时检查桶中有无重复元组。对于并,不再插入重复元组;对于交,选取重复元组;对于差,从桶中取消与S重复的元组。,6.3.5 组合操作,有时,多个操作组合起来同时进行,如投影和选择操作组合起来执行(消除重复元组另外单独进行),可提高效益。 还可以在更大范围内,将多个操作组合起来执行。,假设连接用嵌套循环法,R为外关系,S为内关系,R的选择、投影可在扫描R时执行,S的选择、投影可在首次扫描S时执行,并将选择、投影的结果存入临时文件,之后各轮只需扫描临时文件即可。,最后一个投影操作,可在生成连接结果的同时进行。,6.5 结束语,在执行前进行优化称为静态优化,只能利用统计数据,有时不一定准。,在查询执行时进行优化称为动态优化,用实际执行结果估算代价,比较符合实际,但每次执行都要优化,不适于编译实现,也增加了执行时间。只能利用统计数据,有时不一定准。另外,优化时,要等待中间结果,增加了等待时间和数据的相关性,不利于并行性。,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。