- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * 那么如何来衡量查询的性能? * 在回答这个问题之前,我们需要了解,查询处理过程中,时间都消耗在哪些方面? * 当涉及到多关系进行连接时,通常在内存中尽可能多地加载某个表,而留下一块存放另一个表. * 知道了这些信息后,就可以对查询处理进行一个简单地估算。 * 查询树的启发式优化算法举例 ? S.Snum=SP.Snum and SP.Pnum=P.Pnum and S.City=‘NANJING’ and P.Pname=‘Bolt’ and SP.Quan1000 ? S SP P ? ?Sname 查询树的启发式优化算法举例 ? … ? S SP P ? ?Sname ? S.Snum=SP.Snum and SP.Pnum=P.Pnum and S.City=‘NANJING’ and P.Pname=‘Bolt’ and SP.Quan1000 ? S P SP ? ?Sname 查询树的启发式优化算法举例 ? … ? S SP P ? ?Sname ? S.Snum=SP.Snum and SP.Pnum=P.Pnum ? S P SP ? ?Sname ?Sname ? ?sp SP.Quan1000 ? … S ?S.City=‘NANJING’ SP ? P ?P.Pname=‘Bolt’ 查询树的启发式优化算法举例 ? … ? S SP P ? ?Sname ? S P SP ? ?Sname ?Sname ? ?sp SP.Quan1000 ? … S ?S.City=‘NANJING’ SP ? P ?P.Pname=‘Bolt’ ? … ? SP.Pnum=P.Pnum ?Sname ? ?sp SP.Quan1000 S ?S.City=‘NANJING’ SP P ?P.Pname=‘Bolt’ 查询树的启发式优化算法举例 ? SP.Pnum=P.Pnum ?Sname ? ?sp SP.Quan1000 S ?S.City=‘NANJING’ SP P ?P.Pname=‘Bolt’ ?Sname ?sp SP.Quan1000 S ?S.City=‘NANJING’ SP P ?P.Pname=‘Bolt’ 临时关系大小估计 一个操作的代价依赖于它的输入的大小和其他统计信息 基本统计信息 nr:关系r的元组数 br:包含关系r中元组的磁盘块数 lr:关系r中每个元组的字节数 fr:关系r的块因子 —— 一个磁盘块能容忍的关系r中元组的个数 V(A,r):关系r中属性A中出现的非重复值个数,与πA(r)相等。如果A是r的主码, V(A,r)=nr。 选择运算结果的大小估计 假设:取值均匀分布 单独的等值谓词σA=a(r) 假设属性A存在值a 估计选择结果包含nr/V(A,r)个元组 单独的比较谓词σA≤v(r) 已知的统计信息包括min(A,r)和max(A,r) 若v min(A,r),则有0个元组 若v max(A,r),则有nr个元组 否则,元组个数为 nr v - min(A,r) max(A,r) - min(A,r) . 选择运算结果的大小估计 复杂选择-合取 合取选择 σ θ1∧θ2…∧θn (r) 假设:各条件θi相互独立; 对每个 θi,按前面方法计算 σθi (r),记为si ; σθi (r)的中选率(selectivity)为 si /nr,即关系中一个元组满足选择条件 θi的概率; 则满足全部选择条件的元组数量为 nr s1 * s2 *···* sn nrn * 选择运算结果的大小估计 复杂选择-析取 析取选择 σ θ1∨θ2…∨θn (r) 如前所述,si/nr 代表某元组满足条件θi的概率; 元组满足整个析取式的概率为 将该数值乘以nr,即得到满足选择条件的元组数的估计。 * 1- (1- ) nr s1 (1- ) nr s2 (1- ) nr sn * * ··· 选择运算结果的大小估计 复杂选择-取反 若无空值 σ ? θ (r) :不在σ θ (r)中的关系r的元组集; σ ? θ (r) 的元组数为 nr 减去σ θ (r)的估计元组数; 若有空值 首先估计对条件 θ 取值为未知的元组数目; 然后从上面无空值的估计中减去该数目; 连接运算结果的大小估计 笛卡尔积 r×s 包含nr*ns个元组,每个元组占用lr + ls个字节; 自然连接 假设:每个值等概率出现,令 r(R) 和 s(S)为两个关系; 若R∩S = ?,则r s与r×s结果一样; 若R∩S是R的码,则 s 的一个元组至多与 r 的一个元
文档评论(0)