[数据库系统概念-期末总结]ch12 查询处理

1.概述

基本步骤:

1)语法分析与翻译:查询处理中系统首先必须把查询语句翻译成系统的内部表示形式,翻译过程类似于编译器语法分析器的工作。对用户的查询进行语法检查,比如关系名是否已经存在等

 2)优化 

3)执行

本章针对关系模型进行论述。我们将看到关系模型的代数基础给查询优化带来了诸多便利,给定一个查询,通常有很多方法计算其结果:


[数据库系统概念-期末总结]ch12 查询处理_第1张图片

要全面的说明如何计算一个查询,不仅要提供关系代数表达式,还要对该表达式加上注释用于说明如何实施每个操作的命令。

执行原语:加了有关“如何执行”的注释的关系代数运算

流水线:几个原语聚集而成

查询执行计划:用于计算一个查询的原语序列


[数据库系统概念-期末总结]ch12 查询处理_第2张图片


查询优化是为查询选择最有效的查询执行计划的过程。(关系代数级进行优化+查询语句处理的详细策略的选择)


                          part2: 查询代价的度量

1.磁盘存取代价被认为是查询执行计划代价的一个合理度量

2.简单地用磁盘块传送数作为实际代价的一个度量

[数据库系统概念-期末总结]ch12 查询处理_第3张图片

                            part3: 选择运算

查询处理中,文件扫描是存取数据最低级的操作。文件扫描是用于定位,检索满足选择条件的记录的搜索算法。


                                       基本算法

假定关系保存在单个文件中,先考虑对该关系的选择运算:

1.A1 (线性搜索):所有块都要读取,看他们是否满足选择条件,所以E(A1)=b(r),假定当找到制定的记录时需要扫描一般的数据块,此时扫描就可以终止,那么算法的代价估计值为E(A1)=(b(r)/2)

2.A2 (二分法搜索):


[数据库系统概念-期末总结]ch12 查询处理_第4张图片


[数据库系统概念-期末总结]ch12 查询处理_第5张图片

举个:

[数据库系统概念-期末总结]ch12 查询处理_第6张图片

                                 利用索引的选择

索引结构称为存取路径,因为索引结果提供了定位和存取数据的一条路径。

使用索引的搜索算法称为索引扫描


[数据库系统概念-期末总结]ch12 查询处理_第7张图片

                              涉及比较的选择

你可能感兴趣的:([数据库系统概念-期末总结]ch12 查询处理)