欢迎来到天天文库
浏览记录
ID:61486906
大小:496.50 KB
页数:18页
时间:2021-02-05
《查询处理与优化课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、查询处理与查询优化目录查询处理9.1查询优化9.2查询处理查询处理(queryprocessing)是指从数据库中提取数据时所涉及的一系列活动。语法分析与翻译查询优化查询执行查询处理过程语法分析与翻译器查询处理开始之前,系统必须将查询语句翻译成可使用的形式。语法分析与翻译阶段的主要工作有:检查用户查询的语法,利用数据字典验证查询中出现的关系名、属性名等是否正确;构造该查询语句的语法分析树表示,并将其翻译成关系代数表达式。查询处理过程查询执行计划与查询优化器一个给定的查询任务,一般都会有多种计算结果的方法例如,考虑如下查询selectstudentN
2、amefromStudentwhereclassNo='CS0701'andsex='女'该查询语句可翻译成如下关系表达式中的任意一个σclassNo='CS0701'(σsex='女'(∏studentName(Student)))σsex='女'(σclassNo='CS0701'(∏studentName(Student)))σclassNo='CS0701'(∏studentName(σsex='女'(Student)))∏studentName(σsex='女'(σclassNo='CS0701'(Student)))查询处理过程查询执行计
3、划与查询优化器执行一个查询,不仅需要提供关系代数表达式,还要对该表达式加上注释说明如何执行每个操作加了“如何执行”注释的关系代数运算称为执行原语用于执行一个查询的原语操作序列称为查询执行计划不同的查询执行计划会有不同的代价构造具有最小查询执行代价的查询执行计划是DBMS的责任这项工作称为查询优化,由查询优化器来完成查询处理过程关系数据库系统和非过程化的SQL语言能够取得巨大成功关键是得益于查询优化技术的发展查询优化是影响RDBMS性能的关键因素查询执行引擎根据输入的查询执行计划,调用相关算法实现查询计算,并将计算结果返回给用户有效地对内存缓冲区进行管
4、理是影响查询执行性能的非常重要的方面目录查询处理9.1查询优化9.2查询优化■处理一个给定的查询,尤其是复杂的查询,通常会有许多种策略。■查询优化(queryoptimization)就是从这许多策略中找出最有效的查询执行计划的处理过程。■RDBMS能够构造并选择出一个具有最小查询执行代价的查询执行计划查询优化的必要性不同查询执行计划的执行时间分析Q1=πSN(σs.s#=sc.s#∧sc.c#=‘c2’(S×SC))Q2=πSN(σsc.c#=‘c2’(S⋈SC))Q3=πSN(S⋈σsc.c#=‘c2’(SC))(1)第一种情况计算广义笛卡尔积作
5、选择操作作投影操作执行总时间为105s(2)第二种情况计算自然连接作选择操作作投影操作执行总时间为205s(3)第三种情况先对SC作选择运算作连接运算作投影操作执行总时间为10s查询优化概述■例:找出2008级修读“数据库系统概论”课程的学生姓名。初始关系表达式为:∏studentName(σgrade=2008∧courseName='DB'((Class⋈Student)⋈(Score⋈Course)))■转换后的关系代数表达式为:∏studentName((σgrade=2008(Class)⋈Student)⋈(Score⋈σcourseNa
6、me='DB'(Course)))查询优化概述■查询优化分3步进行逻辑优化,产生逻辑上与给定关系代数表达式等价的表达式;代价估计,估计每个执行计划的代价;物理优化,对所产生的表达式以不同方式作注释,产生不同的查询执行计划。查询优化器中第①步和第③步是交叉进行的先产生一些等价的表达式并加以注释再进一步产生一些等价表达式并加以注释,依此类推第②步是基于系统收集的一些统计信息,如关系的大小、属性值的分布、B+树索引的深度等,对一个执行计划的代价进行事先估计关系表达式转换■等价规则合取选择运算的级联分解选择运算满足交换律系列投影的最后有效性选择操作与θ连接相
7、结合=E1⋈θE2⋈⋈等价规则连接运算的结合律自然连接运算的结合律:(E1⋈E2)⋈E3=E1⋈(E2⋈E3)θ连接运算的结合律:(E1⋈E2)⋈E3=E1⋈(E2⋈E3)选择运算对θ连接运算的分配律选择条件θ0的所有属性只涉及θ连接的表达式之一时,满足分配律⋈θE2)=⋈θE2当选择条件θ1只涉及E1的属性,且选择条件θ2只涉及E2的属性时满足分配律⋈θE2)=⋈θ等价规则投影运算对θ连接运算的分配律令A1、A2分别代表E1、E2的属性,假设连接条件θ只涉及A1∪A2中的属性,则⋈θE2)=⋈θ令A1、A2分别代表E1、E2的属性;令A3是E1中出
8、现在连接条件θ中但不在A1∪A2中的属性;令A4是E2中出现在连接条件θ中但不在A1∪A2中的属性⋈θE2)
此文档下载收益归作者所有