数据库系统概论(第九章关系查询处理和查询优化)

第9章 关系查询处理和查询优化

9.1 关系数据库系统的查询处理

9.1.1 查询处理步骤 

关系数据库管理系统查询处理可以分为4个阶段:查询分析、查询检查、查询优化和查询执行

  1. 查询分析:词法分析、语法分析
  2. 查询检查:语义分析、是否有权限、是否破坏完整性、视图转换
  3. 查询优化:代数优化(逻辑优化)和物理优化(基于规则、代价、语义),生成查询计划树
  4. 查询执行:自底向上/自顶向下策略

这里写图片描述

9.1.2 实现查询操作的算法示例

  1. 选择操作的实现:全表扫描/索引扫描
  2. 连接操作的实现:查询处理中最常用最耗时的操作之一
    1. 嵌套循环算法:最简单最通用,实际上都是基于数据块的循环(m*n)
    2. 排序-合并算法:常用与等值连接,尤其适合各个表已经排好序的情况。(m+n)
      1. 第一步:如果参与连接的表没有排好序,根据连接属性排序
      2. 第二步:sorted_merge
    3. 索引连接算法:根据表上已经建立好的索引,根据索引查找匹配的元组
    4. hash join 算法:等值连接,要求内存足够大,小表的hash表要全部能够放进内存。分成两个阶段
      1. 第一步,划分阶段,为小表建立hash表,根据连接属性作为hash码
      2. 第二步,试探阶段,对另外一张表的连接属性hash一遍,将匹配的元组连接起来

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览

应支付9.90元
点击重新获取
扫码支付

支付成功即可阅读