一、关系数据库系统的查询处理
查询处理是关系数据管理系统执行查询语句的过程,其任务是把用户提交给关系数据库管理系统的查询语句转换为高效的查询执行计划。
(目前内容完全来源于参考内容)
1.1 查询处理步骤
示例:
1. 查询分析
2. 查询检查
- 有效性检查
- 视图转换
- 完整性检查与完整性检查
- 语法分析树
3. 查询优化
4. 查询执行
1.2 关系算子的实现
主要学习两个操作——选择操作和链接操作的实现。
1. 选择操作实现方法
例子:
select * from student
where <条件表达式>;
条件表达式类型:
c1: 无条件;
c2: Sn0 = '201215121';
c3: Sage >20;
c4: Sdept ='CS' AND Sage>20;
这个例子下两种算法的执行过程:
- 没有条件
- 结果集小,采用索引
- 多个条件,分别考虑每个条件再合并结果/单独考虑每一个条件/全表扫描
- 小结
2. 连接操作实现方法
上面的hash join算法前提:假设两个表中较小的表在第一个阶段后可以完全放入内存的hash桶中。
二、关系数据库系统的查询优化
1. 查询优化概述
2. 示例
三、代数优化
四、物理优化
五、查询计划的执行
参考
1. 名词
- 查询处理:query processing
- 查询优化: query optimiation
2. 视频链接