sql语句执行过程
查询优化的一般准则
- 选择运算应尽可能先做
目的:减小中间关系 - 在执行连接操作前对关系适当进行预处理
按连接属性排序
在连接属性上建立索引 - 投影运算和选择运算同时做
目的:避免重复扫描关系 - 将投影运算与其前面或后面的双目运算结合
目的:减少扫描关系的遍数 - 提取公共子表达式
查询优化的一般过程
- 将查询转换成某种内部表示,通常是语法树
- 根据一定的等价变换规则把语法树转换成标准
(优化)形式 (代数优化) - 选择低层的操作算法(物理优化)
- 对于语法树中的每一个操作计算各种执行算法的执行代价
- 选择代价小的执行算法
- 生成查询计划(查询执行方案)
例




