6 查询优化

sql语句执行过程
Pasted image 20250411121130.png

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

Pasted image 20250411211156.png
Pasted image 20250411211205.png
Pasted image 20250411211215.png
Pasted image 20250411211518.png

Built with MDFriday ❤️