数据库基本原理与应用 第13章 查询处理.pdfVIP

  • 20
  • 0
  • 约2.56万字
  • 约 58页
  • 2017-06-30 发布于天津
  • 举报

数据库基本原理与应用 第13章 查询处理.pdf

数据库基本原理与应用 第13章 查询处理.pdf

数据库系统 上海交通大学计算机系 张忠能 zhang-zn@cs.sjtu.edu.cn 1 第13章: 查询处理 概述 查询代价度量 选择操作 排序 连接操作 其他操作 表达式计值 2 查询处理基本步骤 1.词法分析与翻译 2.优化 3.计值 3 查询处理基本步骤 (续)  词法分析与翻译  将查询翻译成内部形式. 再翻译成关系代数表达式.  词法分析器检查语法, 验证关系  计值  查询执行引擎以查询计值方案为输入, 执行该方案, 并返回查 询结果. 4 扫描表 在一个物理查询计划中可以做的最基本的事情 是读一个关系R的整个内容。定位关系R中的元 组的基本方法有两种:  1) 关系R存放在第二级存储器的某个区域中,系统 已知包含R的元组的块,并且可以一个一个地得到 这些块。这个操作叫做表-扫描。  2)如果R的任意一个属性上有索引,可以使用这个 索引来得到R的所有元组。这个操作叫做索引-扫 描。 5 扫描表时的排序  关系排序的原因: 查询包含ORDER BY or GROUP BY子句, 要求对关系排序。 关系代数运算的许多种算法要求一个或所有 的操作对象是排序的关系。 6 实现排序-扫描的方法 a)如果想产生按照属性a排序的关系R,并且a上有一个B树 索引,或R是作为按a排序的索引顺序文件来存储的,那 么对索引进行扫描得到具有所需顺序的R。 (基于索引得 到所需顺序文件) b)如果想要排序的关系R很小,可以装进内存,那么可以使 用表扫描或索引扫描来得到它的元组,再使用许多可供 使用的有效的内存排序算法的一种。(小文件的排序) c)如果R太大以至于不能装进内存,可用多路归并方法。( 大文件的排序) 7 数据库操作的一些算法  三类操作(查询)算法:  1)基于排序的方法。  2)基于散列的方法。  3)基于索引的方法。  按照难度和代价分成三种 “等级”;  a)一些方法仅从磁盘读取一次数据,这就是一趟算法。  b)两趟算法——首先从磁盘读一遍数据,用某种方式处 理,并将全部或绝大部分写回磁盘,然后在第二趟中为 了进一步处理,再读一遍数据。  c)某些方法对处理的数据量没有限制。这些方法用三趟 或更多趟来完成工作,它们是对两阶段算法的自然递归 的推广。

文档评论(0)

1亿VIP精品文档

相关文档