- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章_查询优化课件
第六章查询优化 ;思考几个问题; 学完本讲后,你应该能够了解:
基于代价的查询优化与启发式查询优化的区别与优劣;
启发式查询优化的目标;
启发式逻辑优化的一般准则;
关系代数等价变换规则是启发式逻辑优化的理论基础;
启发式逻辑优化算法的基本步骤;
多个表的连接顺序影响查询执行计划的效率
多连接查询的逻辑优化主要基于关系代数的等价变换规则 ---- 笛卡尔积的交换律和结合律;基于规则的查询优化技术的三要素是:搜索空间、代价估计技术和搜索算法
多连接查询优化的常用搜索空间是左线性树、右线性树、浓密树
代价估计技术通常考虑I/O开销、存储开销、计算开销和通信开销四个要素,并且根据它们的重要程度加不同的权值
四类搜索算法 -- 穷尽、启发式、局部随机、全局随机法的特点; 一. 启发式查询优化
二. 多连接查询优化;启发式
查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;实例;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;启发式查询优化;Questions?;多连接
查询优化;多连接查询优化;多连接查询优化;多连接查询优化;多连接查询优化;多连接查询优化;多连接查询优化的定义
简称MJQO,就是对于由N个(N ? 10)关系的连接操作构成的一个查询请求,在合理的时间内找到一个最佳的查询执行计划(QEP)。;多连接查询的表示形式
查询图
JOIN树
操作树
;多连接查询优化;多连接查询优化;多连接查询优化;策略空间和搜索空间
● 策略空间
一个多连接查询对应的所有QEP构成了该查询的策略空间。策略空间的大小取决于遵循的等价转换规则集和查询执行引擎支持的物理操作集。
● 搜索空间
策略空间一般很大,因此,查询优化算法通常在最佳QEP可能存在的一个策略空间子集中进行搜索,这个子集就称为搜索空间。;逻辑搜索空间;物理搜索空间
常用的实现自然连接操作的算法有三种:
(1)嵌套循环法(nested loop join)
(3)排序归并法(sort-merge)
(4)散列法(Hash)
如果查询执行引擎提供的连接操作的物理实现方法有M个,则对于每一个有N个连接操作的join树,都有NM个QEP与之对应。很显然,物理优化的策略空间也是非常大的 ;代价估计必须尽量精确有效
优化的好坏程度由代价估计的精确程度来决定,所以,代价估计必须尽量精确。既然查询优化过程中要频繁估计代价,因此,代价估计技术必须是有效的。 ;查询执行计划的代价组成
①访问外存的开销(简称I/O开销)
②存储开销:主要指存储中间文件的开销。
③计算开销:主要指在内存(缓冲区)执行各类操作,如定位、排序、归并记录和计算属性值的开销。
④通信开销:主要指分布式数据库系统中,数据在各结点之间传输的开销。
若已知I/O开销、存储开销、计算开销和通信开销分别为I、S、C和E,且分别取权值Pi,Ps,Pc和Pe,则QEP的代价为:
cost = Pi * I+ Ps* S + Pc * C + Pe* E
其中 Pi + Ps + Pc + Pe = 1;一个简单的逻辑代价模型;
穷尽搜索算法
启发式方法
局部随机搜索算法
全局随机搜索算法
;
;
;穷尽搜索算法
穷尽搜索算法就是穷尽搜索空间内的每一个QEP,以找到最佳的QEP。SYSTEM-R算法是一个典型的进行逻辑优化的穷尽搜索算法,目的是找到一个具有最小代价的join树。它以左线性树作为搜索空间,但它并不是逐个比较每一个join树,而是采用动态规划(dynamic programming)搜索方法。
;?穷尽搜索算法
SYSTEM-R算法基本思想是:先构造包括两个关系的最小代价join树,再构造包括三个关系的最小代价join树,……,直到把所有的关系都包括进去。即构造n个关系的最小代价join树时,利用前面已求得的n个关系的子集构造的最小代价join树。很显然,在构造的过程中,需存储n个关系中任意i个关系的最小代价join树(i = 2,3,4, ……,n),因此存储空间要求非常大。;穷尽搜索算法
SYSTEM-R算法的缺点是在构造jo
文档评论(0)