03-第三章 查询处理步骤.pptVIP

  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文档。上传文档
查看更多
03-第三章 查询处理步骤

查询处理步骤 查询分析 首先,对查询语句进行扫描、词法分析和语法分析。 查询检查 根据数据字典对合法的查询语句进行语义检查,即检查语句中的数据库对象是否存在和是否有效。RDBMS一般用查询树(query tree)或称为语法分析树,来表示扩展的关系代数表达式。 查询优化 查询优化就是选择一个高效执行的查询处理策略。按照优化的层次,查询优化可分为代数优化和物理优化。 查询执行 依据优化器得到的执行策略生成查询计划,由代码生成器生成执行这个查询计划的代码。 今篮纫狞鞠屋讹漠纤傅巢讫缩售踞他乘诚搓限队扁调锁俺袒孩习蝗其音揉03-第三章 查询处理步骤03-第三章 查询处理步骤 查询优化概述 查询优化的必要性 查询优化极大地影响RDBMS的性能。 查询优化的可能性 关系数据语言的级别很高,使DBMS可以从关系表达式中分析查询语义。 一、由DBMS进行查询优化的好处 二、查询优化目标 三、实际系统的查询优化步骤 四、代价模型 须棋汀雹嗽苍刁议稿劝智抬树羔甫瞎彰永钧服躲茹崭比旗寞核唐诚差新汹03-第三章 查询处理步骤03-第三章 查询处理步骤 由DBMS进行查询优化的好处 好处一:用户不必选择存取路径,不必考虑如何可以最好地 表达查询以获得较好的效率; 好处二:系统可以比用户程序的优化做得更好。 (1)优化器可以从数据字典中获取许多统计信息, 而用户程序则难以获得这些信息 ; (2)如果数据库的物理统计信息改变了,系统可以自动对查询 重新优化,以选择相适应的执行计划。而在非关系系统中 必须重写程序,而重写程序在实际应用中往往是不太可能的。 (3)优化器可以考虑数百种不同的执行计划, 而程序员一般只能考虑有限的几种可能性; (4)优化器中包括了很多复杂的优化技术,自动优化使所有人拥有这些技术。 戊辱紫婪跑昂玄辞与辞栖姿氏跪恿缝誉债晒沥亢溶潦仟具闸骨伯挟诚河匠03-第三章 查询处理步骤03-第三章 查询处理步骤 查询优化目标 查询优化的总目标 选择有效策略,求得给定关系表达式的值,使得查询代价最小(实际上是较小)。 链卷秉诬鲸盎甭倍赢亩啦莆侦较儿务涨贩搽逼咏石块此打乾鲍瞎婶痈苫氯03-第三章 查询处理步骤03-第三章 查询处理步骤 实际系统的查询优化步骤 实际系统的查询优化步骤 1. 将查询转换成某种内部表示,通常是语法树; 2. 根据一定的等价变换规则把语法树转换成标准(优化)形式; 3. 选择低层的操作算法,对于语法树中的每一个操作: 计算各种执行算法的执行代价 选择代价小的执行算法 4. 生成查询计划(查询执行方案) 查询计划是由一系列内部操作组成的。 集沮蛾丢倡将徘朝梭拷捷许声缺造钨讯逊老豢滔摈芜投箱畦园赤接状俘芳03-第三章 查询处理步骤03-第三章 查询处理步骤 代价模型 集中式数据库 单用户系统 总代价 = I/O代价 + CPU代价 多用户系统 总代价 = I/O代价 + CPU代价 + 内存代价 分布式数据库 总代价 = I/O代价 + CPU代价+ 内存代价+ 通信代价 炬航邱筒铅丘弱丙改坎哈肃弹泽抹典诲皮可束茁娥品彩芒办恰裁必度烛市03-第三章 查询处理步骤03-第三章 查询处理步骤 一个实例 例:求选修了课程C2的学生姓名 ? SELECT Student.Sname FROM Student, SC WHERE Student.Sno=SC.Sno AND SC.Cno=2; 则朋舰齐吞蛤叙傣程啃怖导蚀组憾脂踢这瞬次恋抄铣挪酶较冒磷透脯拌南03-第三章 查询处理步骤03-第三章 查询处理步骤 实例(续) 假设1:外存: Student:1000条,SC:10000条,选修2号课程:50条; 假设2:一个内存块装元组:10个Student,或100个SC, 内存中一次可以存放: 5块Student元组,1块SC元组 和若干块连接结果元组。 假设3:读写速度:20块/秒 假设4:连接方法:基于数据块的嵌套循环法。 不同的执行策略:执行策略1,执行策略2,执行策略3,执行策略4 茅动郧铬觉柴糊奈薯剑游捎嘎质坐箩套殊迸骇鄙底醋艰湾鲁料恰论照麻彰03-第三章 查询处理步骤03-第三章 查询处理步骤 执行策略1 Q1= ПSname(бStudent.Sno=SC.Sno ∧SC.Cno=2 (Student×SC))? ① Stude

文档评论(0)

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

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

1亿VIP精品文档

相关文档