- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Database System 第九章 关系系统及其查询优化 9.1 关系数据库系统的查询处理 9.2 关系数据库系统的查询优化 9.3 代数优化 9.4 物理优化 9.5 小 结 关系系统及其查询优化(续) 本章目的: RDBMS的查询处理步骤 查询优化的概念 基本方法和技术 查询优化分类 : 代数优化 物理优化 关系系统 定义: 支持关系数据库(关系数据结构) 支持选择、投影和连接运算,对这些运算不要求定义任何物理存取路径。 关系系统分类 表式系统:仅支持关系数据结构,不支持集合操作 (最小)关系系统:支持定义的关系系统 如:foxbase,foxpro等 关系完备的系统:支持关系数据结构和所有的关系代数操作 如:oracle,sybases,ql server,db2等 全关系系统:支持关系模型的所有特征 目前尚没有,主要差别在于数据结构中域的概念(范围的定义,类的定义) 9.1 关系数据库系统的查询处理 9.1.1 查询处理步骤 9.1.2 实现查询操作的算法示例 9.1.1 查询处理步骤 查询处理的任务:把用户提交给RDBMS的查询语句转换为高效的执行计划 RDBMS查询处理阶段 : 1. 查询分析 2. 查询检查 3. 查询优化 4. 查询执行 查询处理步骤(续) 查询语句的解释 具体处理过程也分为解释和编译两种实现方式 查询语句的解释执行 查询语句的编译 1. 查询分析 对查询语句进行扫描、词法分析和语法分析 从查询语句中识别出语言符号 SQL关键字 属性名 关系名 进行语法检查和语法分析 SQL语法规则 2. 查询检查 根据数据字典对合法的查询语句进行语义检查 数据库对象是否存在和有效 根据数据字典中的用户权限和完整性约束定义对用户的存取权限进行检查 检查通过后把SQL查询语句转换成等价的关系代数表达式 RDBMS一般都用查询树(语法分析树)来表示扩展的关系代数表达式 把数据库对象的外部名称转换为内部表示 3. 查询优化 查询优化目的:是针对一个查询,找出一种既省时间,又省空间,而且效率又比较高的方案。 查询优化分类 : 代数优化:指关系代数表达式的优化,按照一定的规则,改变代数表达式中操作的次序和组合,使查询执行更高效 物理优化:指存取路径和底层操作算法的选择 查询优化方法选择的依据: 基于规则(rule based) 基于代价(cost based) 基于语义(semantic based) 4. 查询执行 依据优化器得到的执行策略生成查询计划 代码生成器(code generator)生成执行查询计划的代码 9.1 关系数据库系统的查询处理 9.1.1 查询处理步骤 9.1.2 实现查询操作的算法示例 9.1.2 实现查询操作的算法示例 一、 选择操作的实现 二、 连接操作的实现 一、 选择操作的实现 [例1]Select * from student where 条件表达式 ; 考虑条件表达式的几种情况: C1:无条件; C2:Sno=200215121; C3:Sage20; C4:Sdept=CS AND Sage20; 选择操作的实现(续) 选择操作典型实现方法: 1. 简单的全表扫描方法 对查询的基本表顺序扫描,逐一检查每个元组是否满足选择条件,把满足条件的元组作为结果输出 适合小表,不适合大表 2. 索引(或散列)扫描方法 适合选择条件中的属性上有索引(例如B+树索引或Hash索引) 通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组 选择操作的实现(续) [例1-C2] 以C2为例,Sno=‘200215121’,并且Sno上有索引(或Sno是散列码) 使用索引(或散列)得到Sno为‘200215121’ 元组的指针 通过元组指针在student表中检索到该学生 [例1-C3] 以C3为例,Sage20,并且Sage 上有B+树索引 使用B+树索引找到Sage=20的索引项,以此为入口点在B+树的顺序集上得到Sage20的所有元组指针 通过这些元组指针到student表中检索到所有年龄大于20的学生。 选择操作的实现(续) [例1-C4] 以C4为例,Sdept=‘CS’ AND Sage20,如果Sdept和Sage上都有索引: 算法一:分别用上面两种方法分别找到Sdept=‘CS’的一组元组指针和Sage20的另一组元组指针 求这2组指针的交集 到student表中检索 得到计算机系年龄大于20的学生
您可能关注的文档
- 教育管理毕业论文——谈时期学校班主任工作修改稿教育管理毕业论文——谈新时期学校班主任工作修改稿.doc
- 教育遗产的旅游功能及其现路径-以西南联大旧址为例-李庆雷教育遗产的旅游功能及其实现路径-以西南联大旧址为例-李庆雷.doc
- 教育科研课题研究方案和题报告的撰写教育科研课题研究方案和结题报告的撰写.ppt
- 教育论文的写作_17699.ppt
- 教育心理学考试大纲教育理学考试大纲.ppt
- 教育科研成果 的总结与升提升.ppt
- 教育部人才培养模式改革开放教育试点教材教育部人才培养模式改革和开放教育试点教材.ppt
- 数值分析 实 验 报 告.doc
- 教育行动研究法教育行动究法.ppt
- 教育科研论文的撰写衢州茂外国语学校 王小未教育科研论文的撰写衢州华茂外国语学校 王小未.ppt
最近下载
- 附着式抱杆组塔施工方案(外抱杆).doc VIP
- 2025全国普通高等学校体育单招试题语文试卷.docx VIP
- 农村教师公开选调进城考试模拟试题1(初中地理·附参考答案).docx
- 电子式绝缘电阻测试仪讲解文档.ppt VIP
- 驻校教官培训课件.pptx
- GBT 21237-2018 石油天然气输送管用宽厚钢板.pdf
- 安徽泾县国有资产投资运营公司、泾县中小企业融资招聘笔试题库2025.pdf
- 安徽宣城市泾县国有资本投资运营控股集团有限公司招聘笔试题库2025.pdf
- 安徽宣城宁国市国有资产投资运营有限公司招聘笔试题库2023.pdf VIP
- 安徽芜湖市国有资本投资运营有限公司招聘笔试题库2022.pdf VIP
文档评论(0)