《SQL执行计划》PPT课件

《SQL执行计划》PPT课件

ID:38603495

大小:1.28 MB

页数:28页

时间:2019-06-16

《SQL执行计划》PPT课件_第1页
《SQL执行计划》PPT课件_第2页
《SQL执行计划》PPT课件_第3页
《SQL执行计划》PPT课件_第4页
《SQL执行计划》PPT课件_第5页
资源描述:

《《SQL执行计划》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1SQL执行计划SQL执行计划概述SQL和优化器执行计划的类型执行计划的控制1.SQL执行计划概述执行计划对数据的读取效率有着决定性的影响。由于执行计划是优化器通过对SQL的形态、表和索引结构、DBMS版本、统计信息等要素的分析所制定的SQL的执行步骤,所以是否能够提供这些有效的参考因素将对优化器制定执行计划产生决定性影响。编写的SQL只要无语法错误,不管优化器采用何种路径,总能向我们提供所期望的结果。要具备数据库优化的能力,首先应该培养以下三种能力:判断优化因子的能力,编写有效SQL的能力,控制执行计划的能力,可以将这三种能力简称为判断

2、力、编写力、统治力。23SQL执行计划SQL执行计划概述SQL和优化器执行计划的类型执行计划的控制2.SQL和优化器——优化器的作用与人的作用SQL【第四代:面向问题域的语言】:为了表达用户要求的一系列字符,优化器能够为SQL语句制定出具体的执行步骤,并将其转换为可以执行的模块,在实际的运行结束之后直接返回结果。用户只需要提出自己的要求,而真正意义上的应用程序则是优化器所创建的执行计划。优化器在选择执行计划时参考的统计信息有很多,但是其中对选择最优查询路径影响最大的只有列的离散程度和聚簇因子。战争是优化器打的,但是武器确实我们提供的。以最

3、少的资源消耗尽可能获得大的回报是系统开发者应该遵循的原则42.SQL和优化器——优化器的类型优化器可以分为两类:基于规则的优化器【RBO,Rule-BasedOptimizer】和基于成本的优化器【CBO,Cost-BaedOptimizer】。二者区别:在选择最优化查询过程中的判断依据不同必须要求我们培养只通过SQL语句就能够预测出最优查询路径的能力举例说明要想具备准确把握最优执行计划的能力,除了认真学习,深刻理解,努力掌握这些理论之外,别无他法52.SQL和优化器——RBORBO的规则:使用ROWID读取一行数据依据聚簇连接读取一行数

4、据依据UniqueHashCluster读取一行数据依据UniqueINDEX读取一行数据ClUSTER连接NonUniqueHASHClusterKeyNonUniqueClusterKeyNonUnique组合索引NonUnique单一列索引依据索引的范围查询依据索引的整体范围查询SortMerge连接索引列的MIN,MAX计算索引列的OrderBY全表扫描RBO的缺点:忽略表的大小、索引列值的离散度等统计信息RBO的优点:用户更可控,简单62.SQL和优化器——CBOCBO是RDBMS所追求的理想型优化器,很多RDBMS都支持了CB

5、O。CBO如其概念所定义的那样,在计算了所有的查询方法所需要的成本后从中选择一个成本最小的查询路径。CBO的优点:判断更具有现实性利用统计信息的管理来控制最优化即使不理解优化器的工作原理,也能获得最优化的性能CBO的优点:提前预测执行计划比较困难;不同版本存在严重变化【Oracle的升级会使得原来优化的很好的SQL选择很糟糕的执行计划,导致系统性能急剧下降】;控制执行计划比较困难72.SQL和优化器——优化器发展方向和最优化步骤优化器发展方向优化器的发展方向是CBO,完整的统计信息是确保以较大的概率判断出最优查询路径的前提条件。优化器最优

6、化步骤82.SQL和优化器——优化器的最优化步骤查询转化器视图合并【将视图拆解之后和普通表一样执行连接和查询优化,但需要遵循一定的约束条件】谓词推进子查询的非嵌套化【通过表连接的方式替代子查询】物化视图重构OR条件的展开绑定变量窥探:用户在查询条件中指定了绑定变量时,因为无法提前知道输入的是什么值,可以按照绑定变量的现在取值来决定。92.SQL和优化器——优化器的最优化步骤成本估算器选择度:满足条件的行在查询的结果集中所在的比例。基数:向下一个阶段传递的中间结果,即选择度和整体行数的乘积。有了选择度,还需要基数的原因是选择度只不过是一个比

7、例,但是绝对数量值却完全不同。基数可以用于确定表连接的顺序和方向。成本:对执行的各个操作进行相对性预算之后所获得的预测值。102.SQL和优化器——优化器的最优化步骤执行计划计算生成器在很多情况下,逻辑上能够被应用的执行计划可以说是天文数字。选择最优路径是需要代价的,如果寻找最优化操作的代价很大,但对执行计划的改善确很小,则是不经济的做法。1112SQL执行计划SQL执行计划概述SQL和优化器执行计划的类型执行计划的控制3.执行计划的类型——扫描的基本类型执行计划是指从表中读取数据并且生成查询语句所要求结果的查询路径。从物理读取方式上有可

8、以称为“扫描”。扫描的基本类型全表扫描ROWID扫描索引扫描B-Tree聚簇读取哈希聚簇读取采样表扫描133.执行计划的类型——扫描的基本类型全表扫描读取表中的所有行。全表扫描和索引扫描的损益

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

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

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