- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Database System 关系查询:用户只需提出“干什么”,不必指出“怎么干” 存取路径的选择以及SQL的操作过程由系统自动完成 数据库查询操作很重要的就是性能问题,即:如何快速并且资源最省的将结果从庞大的数据库中检索出来,这需要DBMS对用户书写的非过程查询语句进行优化,以选择最优的方案予以执行。 第十一章 关系查询处理和查询优化 11.1 关系数据库系统的查询处理 11.2 关系数据库系统的查询优化 11.3 代数优化 11.4 物理优化 11.5 小 结 第十一章 关系查询处理和查询优化 11.1 关系数据库系统的查询处理 11.2 关系数据库系统的查询优化 11.3 代数优化 11.4 物理优化 11.5 小 结 11.1 关系数据库系统的查询处理 查询处理步骤 RDBMS查询处理阶段 : 1. 查询分析 2. 查询检查 3. 查询优化 4. 查询执行 查询处理步骤 1. 查询分析 对查询语句进行扫描、词法分析和语法分析 从查询语句中识别出语言符号 进行语法检查和语法分析 2. 查询检查 根据数据字典对合法的查询语句进行语义检查 根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查 检查通过后把SQL查询语句转换成等价的关系代数表达式 RDBMS一般都用查询树(语法分析树)来表示扩展的关系代数表达式 把数据库对象的外部名称转换为内部表示 3. 查询优化 查询优化:选择一个高效执行的查询处理策略 查询优化分类 : 代数优化:指关系代数表达式的优化 物理优化:指存取路径和底层操作算法的选择 查询优化方法选择的依据: 基于规则(rule based) 基于代价(cost based) 基于语义(semantic based) 4. 查询执行 依据优化器得到的执行策略生成查询计划 代码生成器(code generator)生成执行查询计划的代码 如:检索学过数据结构课程的所有同学的学号、姓名及成绩。 Select S#, Sname, Score From Student, SC, Course Where Cname = ‘数据结构’ and Student.S# = SC.S# and Course.C# = SC.C#; 上述SQL语句可以按照一种标准方式,转换成如下形式的关系代数语句。 因此有两个问题: (1)是否能按照上式表征的操作顺序来执行?按上式顺序执行,效率如何?是否有其他更快速的方式? (2)每一个操作,即关系代数的并、差、积、选择和投影、连接等操作如何实现? 对前一个问题,我们可以有多条关系代数语句来表达与上述操作顺序同样的检索需求,但哪一个更好呢? 前述示例说明用户给出了检索需求后,我们可以从语法上予以优化,从而选择出最优的操作顺序。关系代数是解决查询优化问题的一个很重要的方法。 对后一个问题,即当语法优化进行完毕后,如何执行每一个具体的操作呢?我们说,对每一个具体操作也有多种执行方案。 例如: 可以有以下一些查询实现方案: 方案1:表空间扫描方法 直接对Course表进行扫描,从第一条检索到最后一条,对每一条进行条件比较,将满足条件的记录找出。 方案2:利用Course上的Cname排序索引的方法 利用排序索引可以进行诸如二分查找等快速检索,找到满足条件的相应索引项,再据索引指针将满足条件的记录找出。 当条件更复杂时,可选择的方案还会更多。 再例如: 方案1:先将R全部读入内存(或尽可能多地读入),然后反复访问磁盘上的S,进行相应记录的连接操作。 方案2:先将S全部读入内存(或尽可能多地读入),然后反复访问磁盘上的R,进行相应记录的连接操作。 方案3:将内存分成较均匀的两部分,同时读入R, S的一部分,然后反复访问磁盘,读取R, S的剩余部分;进行相应记录的连接操作。 再例如: 当考虑文件组织方式和索引结构时,可选择的方案还会更多,比如是否预先排序,是否使用索引(没有索引是否先建立临时索引),… …。 嵌套循环法 排序-合并法 索引连接法 Hash Join法 DBMS如何衡量这些方案的优劣呢? 衡量CPU的占用时间 衡量I/O访问次数
您可能关注的文档
最近下载
- PLC应用技术(西门子S7-1200)全套教学课件.pptx VIP
- 宿州市市直机关遴选公务员考试真题2024.docx VIP
- GBT 35694-2017 光伏发电站安全规程.pdf
- DB41T 2312-2022 波形钢腹板预应力混凝土组合箱梁桥施工规范.pdf VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- 胃肠道肿瘤的基因检测与个体化治疗.pptx VIP
- 部编版语文四年级上册第二单元综合素质测评B卷(含答案).pdf VIP
- 《道路深层病害探地雷达无损检测技术规范》DB41 T2525-2023.doc VIP
- 中国儿童幽门螺杆菌感染诊治专家共识(2022) .pdf
- 2021届广东省华师附属高级中学(广州总校)三下学期5月综合测试(三模)文科综合地理试卷无答案.pdf VIP
文档评论(0)