当前位置:   article > 正文

数据库系统-查询优化

查询优化

一、查询优化概述

较少IO次数、内存消耗
谓词下推
在这里插入图片描述

三个层面进行优化:

  • 语义优化:模型的语义以及完整性规则,优化查询
  • 语义优化–逻辑层优化:利用语法结构,优化操作执行顺序
  • 语义优化–物理层优化:存取路径&执行算法的选择与执行次序优化

二、优化的基本思路

2.1 语义优化-内容等价性

在这里插入图片描述

2.2 语义优化-语法等价性

在这里插入图片描述
更可能早的做选择 、投影 运算

2.3 执行优化(物理层优化)

在这里插入图片描述

2.4 优化在整个DBMS的位置

在这里插入图片描述

三、逻辑查询优化

3.1 逻辑优化整体思路

在这里插入图片描述

  1. 早做选择和投影,让中间结果变小,节省巨大的执行时间
  2. 选择&投影串接起来,一次IO ,选择投影全部执行完
  3. 投影&前后的二元运算(两个关系式的并交叉)结合起来,IO时去掉一些无关的属性,避免多次扫
  4. 选择&前的笛卡尔积合并成一个连接
  5. 执行连接运算前对关系做适当的预处理:排序、临时index
  6. 找出表达式里的公共字表达式,共用一个子表达式结果
    在这里插入图片描述

3.2 关系代数操作次序交换的等价性

并 差 积 选择 投影
在这里插入图片描述

定理1 连接&连接 积&积 交换律

在这里插入图片描述

定理2 连接&连接 积&积 结合律

在这里插入图片描述

定理3 投影串接律

在这里插入图片描述

定理4 选择串接律

在这里插入图片描述

定理5 选择和投影交换律

在这里插入图片描述

定理6 选择和积的交换律

在这里插入图片描述

定理7 投影和积的交换律

在这里插入图片描述

定理8 选择和并的交换律

在这里插入图片描述

定理9 选择和差的交换律

在这里插入图片描述

定理10 投影和并的交换律

在这里插入图片描述
在执行差的时候,需要比对全部的col,而不是选择的那几个col

定理的运用

在这里插入图片描述

3.3 关系代数优化的示例

四、物理查询优化

4.1 为什么需要物理查询优化?

在这里插入图片描述

4.2 物理优化的整体思路

在这里插入图片描述

4.3 物理计划优化的评价标准

  • IO次数
  • CPU占用
  • 内存使用代价
  • 中间结果存储代价
  • 计算量(搜索 合并 排序 字段值计算等)
  • 网络通讯量
    在这里插入图片描述

4.3.2 如何获取评价指标

  • 不会自动收集,需要DBA用特定命令完成信息统计,并把结果存入系统目录中的实用程序
  • 随着表更新修改,DBMS会定时更新系统信息
    在这里插入图片描述
    在这里插入图片描述

4.3.3 代价评估

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/230468
推荐阅读
相关标签
  

闽ICP备14008679号