查询处理与查询代价估计.pptxVIP

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

查询处理与查询代价估计目录 查询处理1、查询分析2、查询优化3、查询执行 查询代价估计 查询处理查询处理查询处理是指从数据库中提取数据的一系列活动。 包括: 1、将用高层数据库语言表示的查询语句翻译成文 件系统这一物理层次上实现的表达式; 2、为优化查询进行各种转换; 3、查询的实际执行。查询处理过程DBMS关系代数表达式语法分析器 和翻译器查询优 化 器查询结果执 行 引 擎 执行计划数据基于数据的统计分析查询分析在数据库执行查询处理之前,系统先将查询语句翻译成可使用的形式。翻译过程: 1、语法分析器将查询翻译成系统内部表示形式; 2、翻译的同时进行语法检查; 3、构造查询语句的语法分析树; 4、翻译成关系代数表达式。对于给出的一个查询,一般经过翻译器翻译后都会有多种关系代数表达式与之对应。查询分析实例查询实例: 求选修2号课程的学生姓名SQL表示:select Snamefrom Students, SCwhere Students.Sno = SC.Sno and Cno = ‘2’;翻译结果: Q1=πSname(σStudent.Sno=SC.Sno∧Sc.Cno=2 (Student×SC)) Q2=πSname(σSc.Cno=2 (Student SC)) Q3=πSname(Student σSc.Cno=2(SC))优化器功能功能:负责产生最有效的查询执行计划(QEP)逻辑转换部分:对于一个语法树,根据关系代数等价变换规则,得到所有的等价的关系代数表达式;物理转换部分:对于每一个关系代数表达式,根据查询引擎提供的物理操作,找出所有可能的查询执行计划。比较和查找:根据代价估计函数,估计每一个查询执行计划的代价,并从中找出代价最小的查询执行计划。优化器处理过程代价估计函数物理操作集等价变换规则集代价最小QEP查询请求查找物理转换逻辑转换等价的QEP等价的语法树集合查询执行引擎功能:查询执行引擎为每一个关系操作的实现提供多种物理实现方法。选择操作有两种可能的物理操作:顺序扫描和索引扫描连接操作有三种可能的物理操作:嵌套循环连接、合并连接和散列连接。查询执行引擎还可以提供更多的物理实现方法。每一种物理实现方法利用不同的存取路径(如索引、数据的存储分布、元组的排序等)负责产生执行查询的代码 查询代价的估计查询的代价查询执行开销主要包括 集中式数据库 总代价 = I/O代价 + CPU代价 +内存代价 分布式数据库 总代价 = I/O代价 + CPU代价 + 内存代价 + 通信代价查询代价主要取决于磁盘访问的次数。 一个给定的查询,对应多种可能的处理策略。策略不同,访问磁盘的次数相差很大,甚至相差几个数量级。查询代价的度量对于大型数据库系统而言,在磁盘上存取数据的代价通常是最重要的代价 ,可以通过传输磁盘块数以及搜索磁盘次数来度量。 使用 tT 表示传输一块数据的平均耗时,tS 表示搜索一次磁盘的平均定位时间(包括搜索时间加旋转时间)。 则一个传输b块并作s次磁盘搜索的操作将耗时b*tT+s*tS 毫秒(ms)写磁盘块的代价通常是读磁盘块的2倍执行计划所需挂钟时间用于代价估算的统计信息相关的统计信息主要包括: nr:关系r中的元组数目。 br:用于存储关系r所有元组的块数目。 sr:关系r中一个元组的大小。 fr:关系r的块因子,即一个物理块中能存放的关系r的元组数目。 V(A, r):关系r中属性A所具有的不同值的数目,该数目与∏A(r)的大小相同。若A为关系r的码,则V(A, r)=nr。 SC(A, r):关系r关于属性A的选择度,表示在属性A上满足某个等值条件(假设至少有一条记录满足该等值条件)的平均记录数。用于代价估算的统计信息fi : 索引i 的内节点的平均扇出, 适用于树结构索引,如B+树HTi :索引i 的层数 — 即高度对于关系r上A 属性的平衡树索引 (如B+-树), HTi = ?logfi(V(A,r))?对于散列索引, HTi 为1LBi :索引i 的底层索引块数 — 即索引叶子层的块数查询代价估计举例查询实例: 求选修2号课程的学生姓名SQL表示:select Snamefrom Students, SCwhere Students.Sno = SC.Sno and Cno = ‘2’;数据库模式的样例Students ( Sno, Sname, Ssex, Sage, Sdept)SC ( Sno, Cno, Grade)假定学生-课程数据库中有1000个学生记录,10000个选课记录其中选修2号课程的选课记录为50个可能的语句翻译结果 Q1=πSname(σStudent.Sno=SC.Sno∧Sc.Cno=2 (Student×SC))

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档