五分布查询的存取优化10.pptx

  1. 1、本文档共93页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五分布查询的存取优化10

; 全局查询优化(Global Query Optimization);基于代价的优化(Cost-Based Optimization);查询优化过程;搜索空间(Search Space);搜索空间(Search Space);搜索策略(Search Strategy);搜索策略(Search Strategy); 全局优化 ;§5.1 基本概念;§5.1 基本概念;;;§5.1 基本概念;内容: (1)确定片段查询需访问的物理副本。通常:①本场地上的物理副本优先;②若二元运算存在尽量选择本场地上的二元运算;③数据最小的物理关系应被优先选中;④网络通信代价小的应优先选中 (2)确定片段查询表达式操作执行的最优顺序。包括从叶到根的执行和同一层叶子上表达式执行的先后,特别是对查询树上的并操作和联接操作的执行次序的确定,其代价差别很大。 (3)选择执行每个操作的方法。如:尽量将同一场地上的、同一物理副本的全部操作组合在一起统一考虑完成。 ; 代价函数(the total time or the response time);例子:; §5.2 存取优化的理论基础;§5.2 存取优化的理论基础; 查询模型 数据库特征参数 假设R为一关系。 关系的基:指关系R包含的元组个数,记为Card(R) 属性的长度:指属性A定义的取值字节数,记为Length(A) 元组的长度:关系R中每个元组的字节数,记为Length(R),Length(R)=∑Length(Ai) 关系的大小:关系R所包含的字节数,记为Size(R) Size(R)= Card(R)* Length(R) 属性的特征值: 指关系R中属性A取值不同的属性值个数,记为Val(A) 属性A的值域:记为Dom(A) 属性A的最大值和最小值:记为Max(A)和Min(A);关系运算的特征参数 假设:R、S为关系。 (1)??? 选择运算 (S= σF(R)) -----1 选择度: 满足选择谓词F的元组与R元组总数之比,记为ρ 基数: Card(S)=ρ* Card(R) 关系的宽度: Length(S)= Length(R) ?Length(S.A)= Length(R.A);(1) 选择运算(中间关系大小);(1) 选择运算 (S= σF(R))-----2 不同值的个数: a.设B不属于选择谓词F,其值均匀分布。;令ρ=0.1 则:Card(S)=ρ* Card(R)=0.1*100=10 ∵Card(S)=10 Val(R,B)/2=35 ∴Card(S) Val(R,B)/2 Val(S,B)=Card(S)=10 b.设B属于选择谓词F 若B=X(值),则:Val(S,B)=1 若B与选择谓词F相关且为关键字, 则:Val(S,B)=ρ* Val(R,B);(2)投影运算 (S=∏A(R)) 基数: ①如果投影涉及单个属性A:Card(S)= Val(R,A) ②如果A中包含关键字:Card(S)= Card(R) ③投影涉及多个属性: 关系的宽度: Length(S)=∑Length(Ai)(Ai∈A) Size(S)= Card(S)* Length(S) Size(S) Size(R) 不同值的个数: Val(S,A)= Val(R,A) ;(3)并、交与差(如果结果关系执行消除重复操作,则都只能计算出结果关系基数的上限和下限,因此通常采用平均值作为基数的估计值。) 基数: ①并运算 如果不消除重复,则结果关系基数等于两个关系基数之和: Card(T)= Card(R)+ Card(S) 如果消除重复,则结果关系基数最大可大至两个关系基数之和,最小可小至两个关系基数的大者,因此有: Max{Card(R), Card(S)}Card(T)Card(R)+ Card(S) 在估计中使用中间值作为结果关系基数: (Max{Card(R), Card(S)}+Card(R)+ Card(S))/2 ②交运算 交运算的结果关系最小可以是空,最大可以等于两个关系的较小者,因此按取区间中间值的方法估计结果关系的基数为较小关系基数的一半: Card(T)= Min{Card(R), Card(S)}/2 ③差运算 对于两个关系的差运算R-S,其结果关系基数的区间为: Card(R)-Card(S)Card(T)Card(R) 其中Card(R)-Card(S)在S包含R中所有元组时Card(R)-Card(S)=0。;;(5)半联接运算 S=R∝T,(R.a=T.b) 半联接操作是全联接操作的一种缩减。是一种导出操作,且具有不对称性。如:半联接操作(R∝T)是R与T自然连接后在R上的投影, 描述为:R∝T=∏Attr(R)

文档评论(0)

peili2018 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档