第6章-查询处理和优化word版本.ppt

第6章-查询处理和优化word版本.ppt

ID:59719485

大小:511.50 KB

页数:51页

时间:2020-11-20

第6章-查询处理和优化word版本.ppt_第1页
第6章-查询处理和优化word版本.ppt_第2页
第6章-查询处理和优化word版本.ppt_第3页
第6章-查询处理和优化word版本.ppt_第4页
第6章-查询处理和优化word版本.ppt_第5页
资源描述:

《第6章-查询处理和优化word版本.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章-查询处理和优化数据库查询语言的处理过程:(1)解释方式执行解释执行查询语句DBMSBEGINTRAN查询语句END应用程序查询请求查询结果优化占执行时间!!查询语句(2)编译方式BEGINTRAN查询语句END应用程序…CALLAM(参数)…AM依赖因素访问模块AM预编译编译和连接目标码执行优化不占执行时间!!对于常见的例行事务,编译方式可提高性能。对于简短的即时查询,解释方式灵活实用。解释方式和编译方式各适用于什么情况?代数优化对查询语句进行变换不涉及存取路径物理优化根据存取路径选择合理的存取策略进行优化规则优化仅根据

2、启发式规则选择执行的策略进行优化代价估算优化6.2代数优化代数优化对查询进行等效变换,以减少执行开销。代数优化的原则是尽量减小查询过程中间结果的大小。选择、投影操作通常能够有效地减小关系的大小。连接、迪卡尔乘积和并操作容易生成较大的查询中间结果。因此,先做选择、投影;先做小关系间的连接,再做大关系的连接;甚至需要先找出查询中的公共表达式,以避免重复运算。常用变换规则1.2.3.4.5.RJNS=SJNR6.7.8.9.10.注意:规则11中,对于连接运算,可能出现S与T之间无连接条件的情况,此时的连接运算成为迪卡尔乘积。例如:(

3、RJNc1S)JNc2T,式中,Attr.(c1)Attr.(R)Attr.(S)Attr.(c2)Attr.(R)Attr.(T)而S和T之间没有连接条件。可改写为:RJNc1ANDc2(ST)11.范例p118例6-1设有S(供应商),P(零件),SP(供应关系)三个关系,关系模式如下:S(SNUM,SNAME,CITY)P(PNUM,PNAME,WEIGHT,SIZE)SP(SNUM,PNUM,DEPT,QUAN)有如下查询Q:SELECTSNAMEFROMS,P,SPWHERES.SNUM=SP.SNUMANDSP.PN

4、UM=P.PNUMANDS.CITY=‘NANJING’ANDP.PNAME=‘BOLT’ANDSP.QUAN>10000SQL语句转化为原始查询树SelectFromWhereQ可用右图所示的原始查询树表示:Q:SELECTSNAMEFROMS,P,SPWHERES.SNUM=SP.SNUMANDSP.PNUM=P.PNUMANDS.CITY=‘NANJING’ANDP.PNAME=‘BOLT’ANDSP.QUAN>10000原始查询树选择操作下压选择操作尽量下压原始查询树先连接小关系S,P,SP经选择后得S’、P’、SP’,

5、估算大小:

6、S’

7、=

8、S

9、/NCITY

10、P’

11、=

12、P

13、/NPNAME

14、SP’

15、=

16、SP

17、×(Vmax-10000)/(Vmax-Vmin)设

18、S’

19、<

20、P’

21、,

22、SP’

23、<

24、P’

25、消除对查询无用的属性消除对查询无用的属性代数优化的基本步骤:1.以SELECT子句对应投影操作,以FROM字句对应迪卡尔乘积,以WHERE子句对应选择操作,生成原始查询树。2.应用变换规则2)、6)、7)、9)、10),尽可能将选择条件移向树叶方向。3.应用连接、迪卡尔乘积的结合律,按照小关系优先做的原则,重新安排连接(笛卡尔乘积)的顺序。4.如果笛卡

26、尔乘积后还须按连接条件进行选择操作可将两者组合成连接操作。5.对每个叶节点加必要的投影操作,以消除对查询无用的属性。以上所讨论的都是非嵌套查询。嵌套查询比较复杂,分如下两种情况:1.嵌入的查询块与上层查询无关从最低层查询开始,用上述步骤和规则,逐层计算各查询快所等效的关系,直至求出查询结果。2.嵌入的查询块与上层查询有关一般用代入法。例如:SELECTA1FROMR1WHERER1.A2比较符CONST1ANDR1.A3IN(SELECTA4FROMR2WHERER2.A5比较符R1.A1)将第一层查询所涉及R1表中的每条记录,

27、代入虚线框所标出查询体,此时R1.A1为一个常量值,判断该记录是否满足查询条件。存在什么问题?能否再进行优化?注意:采用代入法时,尽可能作“部分选择”!SELECTA1FROMR1WHERER1.A2比较符CONST1ANDR1.A3IN(SELECTA4FROMR2WHERER2.A5比较符R1.A1)FROMR1WHERER1.A2比较符CONST1ANDFROMR1’WHERER1’.A3看作临时表R1’将R1’的每个元组逐个代入,检查限制条件是否满足,以减少需检查的上层查询所涉及表的元组数目!有些DBMS将嵌套查询转换为

28、等效的非嵌套查询,但是这种方法不一定在所有情况下都可行。6.3依赖于存取路径的规则优化代数优化不涉及存取路径,对各种操作的执行策略无从选择。只能在操作的次序和组合上做一些变换和调整。单靠代数优化比较粗糙,优化效果有限,合理选择存取路径,往往能收到显著的效果。本节

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。