第九章 关系查询处理和查询优化
9.1 关系数据库系统的查询处理
9.1.1 查询处理步骤
查询分析->查询检查->查询优化->查询执行
1、查询分析
判断查询语句是否符合 SQL 语法规则
2、查询检查
合法权检查(关系名,属性名等是否存在且有效)
视图转换(消解视图)
安全性检查
完整性初步检查(用户是否有权限)
检查通过后把 SQL 查询语句转换成内部表示,即等价的关系代数表达式
DBMS 一般用查询树表示扩展的关系代数表达式
3、查询优化
有代数优化和物理优化
代数优化:关系代数表达式的优化
物理优化:存取路径和底层造作算法的选择
选择依据:基于规则/代价/语义
4、查询执行
代码执行器生成执行查询计划的代码
两种执行方法:自顶向下,自底向上
9.1.2 实现查询操作的算法示例
1、选择操作的实现
(1)全表扫描方法
适合小表,不适合大表
(2)索引扫描方法
使用于选择条件中的属性上有索引(B+树索引或是 Hash 索引)
通过索引找到元组指针,再找到元组
2、连接操作的实现
评论0
最新资源