数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx

数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx

ID:51792559

大小:343.56 KB

页数:41页

时间:2020-03-09

数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx_第1页
数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx_第2页
数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx_第3页
数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx_第4页
数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx_第5页
资源描述:

《数据库技术与应用 教学课件 作者第10章 查询处理和优化.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第10章查询处理和优化本章学习目标了解并掌握查询处理的过程。了解查询处理代价的度量方法。了解查询优化在关系数据库系统中的必要性和可行性。掌握查询优化的一般策略。理解并掌握代数优化的思想和算法。理解物理优化的基本思想和方法。本章概述本章主要讨论关系数据库的查询优化技术。查询处理是关系数据库系统最主要的功能。关系数据库的查询一般都使用SQL语句实现。对于同一个用SQL表达的查询要求,通常可以对应于多个不同形式但相互“等价”的关系代数表达式。对于描述同一查询要求但具有不同形式的关系代数表达式来说,由于存取路径可以不同,相同的查询,其效

2、率就会产生差异,有时这种差异会相当巨大。在关系数据库中,查询优化是查询处理中一项重要和必要的工作,查询优化通过寻求好的查询路径或好的等价代数表达式来提高查询效率,通常包括代数优化和物理优化技术。主要内容10.1查询处理10.3代数优化10.4物理优化10.2查询优化10.5实际应用中的查询优化主要内容10.1查询处理10.3代数优化10.4物理优化10.2查询优化10.5实际应用中的查询优化10.1查询处理10.1.1查询处理步骤1.查询分析首先,对查询语句进行扫描、词法分析和语法分析。从查询语句中识别出语言符号,如SQL关键字

3、,关系名和属性名等,并进行语法检查和分析,即判断查询语句是否符合SQL语法规则。2.查询检查查询检查首先根据数据字典对合法的查询语句进行语义检查,检查语句中的数据库对象(如关系名、属性名)是否存在和是否有效。然后,根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查,如果用户没有相应的访问权限或违反了完整性约束原则,就拒绝执行该查询。检查通过后,把查询语句转换成等价的关系代数表达式。RDBMS一般都用查询树(querytree),也称为语法分析树(syntaxtree),来表示扩展的关系代数表达式。这个过程就是把数据

4、库对象的外部名称换为内部表示。10.1查询处理3.查询优化每个查询都会有很多可供选择的执行策略和操作算法,查询优化是指选择一个高效执行的查询处理策略。DBMS会调用系统的优化处理器制定一个执行策略,由此产生一个查询计划。对关系型数据库来说,查询优化过程是由RDBMS系统自动完成的,它与用户提交的查询语句无关。10.1查询处理查询优化有多种方法。按照优化的层次一般可分为代数优化和物理优化。(1)代数优化:指关系代数表达式的优化,即按照一定的启发式规则,改变代数表达式中操作的次序和组合,使查询执行得更高效。例如“优先选择、投影而后连

5、接”等就可完成优化。(2)物理优化:指存取路径和底层操作算法的选择。选择的依据可以是基于语义的,也可以是基于代价的,还可以是基于规则的。实际优化过程都综合运用了这些优化技术,以获得最好的查询优化效果。4.查询执行依据查询优化器得到的查询计划,由代码生成器生成执行这个查询计划的可执行代码。10.1查询处理查询优化有多种方法。按照优化的层次一般可分为代数优化和物理优化。(1)代数优化:指关系代数表达式的优化,即按照一定的启发式规则,改变代数表达式中操作的次序和组合,使查询执行得更高效。例如“优先选择、投影而后连接”等就可完成优化。(

6、2)物理优化:指存取路径和底层操作算法的选择。选择的依据可以是基于语义的,也可以是基于代价的,还可以是基于规则的。实际优化过程都综合运用了这些优化技术,以获得最好的查询优化效果。4.查询执行依据查询优化器得到的查询计划,由代码生成器生成执行这个查询计划的可执行代码。10.1查询处理目前DBMS通过某种代价模型计算出各种查询执行策略的执行代价,然后选取代价最小的执行方案。查询执行代价可以通过查询对各种资源的使用情况进行度量。在集中式数据库中,查询的执行开销主要包括磁盘存取时间(I/O代价),处理器时间(CPU代价),查询的内存时间

7、。在并行/分布式数据库系统中还要加上通信代价,即:查询执行总代价=I/O代价+CPU代价+内存代价+通信代价。10.1.2查询执行代价度量主要内容10.1查询处理10.3代数优化10.4物理优化10.2查询优化10.5实际应用中的查询优化10.2查询优化10.2.1查询优化的必要性还可以写出其他等价的关系代数表达式,但分析这三种就足以说明问题了。下面我们计算这3种表达式查询所需时间,可以发现由于查询执行策略的不同,使得查询时间有很大的差异。在计算之前做以下统一约定。10.2查询优化设Student有1000个元组,SC有1000

8、0个元组,其中选修“C003”号课程的元组数为50个。设一个物理块能装10个Student元组或100个SC元组。内存有6个块的缓冲区,其中5块存放Student元组,1块存放SC元组。读/写磁盘一物理块的时间为1/20s,即1s读写20个磁盘块。为简化起见,所

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

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

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