关系查询处理和优化

1、查询处理步骤:

  • 1.1 查询分析

  • 1.2 查询检查

  • 1.3 查询优化

  • 1.4 查询执行

2、查询优化分类:

  • 2.1 代数优化:指关系代数表达式的优化

  • 2.2 物理优化:指存取路径和底层操作算法的选择

关系查询处理和优化_第1张图片

1.1 查询分析:

  1. 词法分析:从查询语句中识别出正确的语言符号
  2. 进行语法检查

1.2 查询检查:

1.2.1有效性检查

  • 检查语句中的数据库对象,如关系名、属性名
  • 根据数据字典中有关模式的定义信息进行检查

1.2.2. 视图转换

  • 利用视图消解法把操作转换为对基本表的操作

1.2.3. 安全性检查

  • 根据数据字典中的用户权限对用户的存取权限进行检查

1.2.4. 完整性检查

  • 根据数据字典中存储的完整性约束定义,如foreign key 、unique 、check和数据类型是否匹配

1.3 查询优化

  • 1.3.1 代数优化/逻辑优化
  • 1.3.2 物理优化

1.4 查询执行

  • 1.4.1 自顶向下

  • 1.4.2 自底向上

你可能感兴趣的:(sql,server)