第14章查询优化.pptVIP

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章查询优化,access—第三章查询,gta4自由城之章优化,seo文章优化,自由城之章优化,优化文章怎么写,优化文章,文章标题优化,自由城之章优化补丁,网站文章优化

概述 一个给定查询有多种可选择的求值方法 等价表达式 一个操作有若干不同算法(Chapter 13) 一个查询求值方法的好坏带来的代价差别可能是巨大的 例如: 执行r X s 后续选择r.A = s.B 比执行一个同样条件的连接慢得多 需要估计操作的代价 非常依赖于数据库必须维护的关系的统计信息 例如元组数, 连接属性的不同值的数目, 等等. 需要对中间结果估计统计信息以便对复杂表达式计算代价 概述(续) 两个等价表达式生成的关系具有相同的属性集合并包含相同的元组集合, 尽管属性次序可能不同. 概述(续) 对一个表达式的查询计值方案的生成涉及几个步骤: 生成逻辑上等价的表达式 利用等价规则将一个表达式转换成另一个等价的表达式. 注解(Annotate)结果表达式以得到其他查询计划 基于估计代价选择最廉价的计划 整个过程称为基于代价的优化. 用于代价估计的统计信息 nr : 关系r 中的元组个数. br : 包含r 中元组的块数. sr : r 中元组的大小. fr : r 的块因子 — 即, 能放入一块之中的r 的元组数. V(A, r): r 中出现的A属性上的不同值的个数; 等于?A(r)的大小. SC(A, r): 关系r 中属性A的选择基数; 满足A上等值条件的平均记录数. 若r 中元组在文件中物理排序, 则: 关于索引的目录信息 fi : 索引i 的内节点的平均扇出, 适用于树结构索引如B+树. HTi :索引i 的层数 — 即高度. 对于关系r上A 属性的平衡树索引 (如B+-树), HTi = ?logfi(V(A,r))?. 对于散列索引, HTi 为1. LBi :索引i 的底层索引块数 — 即索引叶子层的块数. 查询代价的度量 回顾: 典型地, 磁盘存取是决定性的代价, 也相对容易估计. 来自磁盘的块传送次数被用作求值的实际代价的度量. 假设所有块传送都具有相同代价. 实际的优化器不作此假设, 并区分顺序的与随机的磁盘存取 我们不包括写输出到磁盘的代价. 记算法A的代价估计为EA 选择的大小估计 等值选择 ?A=v(r) SC(A, r) : 满足选择的记录数 ?SC(A, r)/fr? — 这些记录将占用的块数 例如二分搜索的代价估计为 键属性上的等值条件: SC(A,r) = 1 统计信息例 faccount= 20 (一块可放入account 的20个元组) V(branch-name, account) = 50 (50个分行) V(balance, account) = 500 (500 个不同的balance 值) ?account = 10000 (account 有10,000条元组) 假设account 上存在下列索引: 属性branch-name上的主B+-树索引 属性balance上的次级B+-树索引 涉及比较的选择 形如?A?V (r )的选择(?A ? V(r) 的情形是对称的) 令c 表示满足条件的估计元组数. 若 min(A,r) 和 max(A,r) 在目录中可得 c = 0 if v min(A,r) c = 若没有统计信息, c 可假设为 nr / 2. 复杂选择的实现 条件?I 的选择度是关系r 中一条元组满足?I 的概率. 如果si 是r 中满足的元组数, 则?i 的选择度为si /nr. 合取: ??1? ?2?. . . ? ?n (r ). 结果中元组数的估计值为: 析取: ??1? ?2 ?. . . ? ?n (r ). 元组数的估计值为: 否定: ???(r). 元组数的估计值为: nr – size(??(r)) 连接操作: 例子 连续用例: depositor customer 连接例的目录信息: ncustomer = 10,000. fcustomer = 25, 这意味着 bcustomer =10000/25 = 400. ndepositor = 5000. fdepositor = 50, 这意味着 bdepositor = 5000/50 = 100. V(customer-name, depositor) = 2500, 这意味着每个顾客平均有两个帐户. 还假设depositor 中的customer-name是customer 上的外键. 连接的大小的估计 卡氏积 r x s 包含 nr .ns 元组; 每个元组占用sr + ss 字节. 若 R ? S = ?, 则 r s 等同于 r x s. 若 R ? S 是R 的键, 则s 的一条元组将与r 的最多一条元组连接 因此, r s 中的元组数不大于s 中的元组数. 若 R ?

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档