以下图片来自西安交通大学侯迪老师的ppt,仅供学习和复习使用,请勿转载或他用

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

6.1.1 数据库管理系统的查询处理步骤

查询处理四个阶段:

  1. 查询分析

  2. 查询检查

  3. 查询优化

  4. 查询执行

  1. 查询分析

  1. 查询检查

任务:

  • 合法权检查(关系、属性名是否存在且有效)

  • 视图转换(若有视图,先视图消解为对基本表的操作)

  • 安全性检查

  • 完整性初步检查

  1. 查询优化

  1. 查询执行

6.1.2 举例:选择操作的实现

两种方法:

  • 全表扫描

  • 索引扫描(若有索引,如B+和hash,通过索引先找到满足条件的元组主码或元组指针,再通过元组指针直接在查询的基本表中找到元组。)

6.1.3 举例:连接操作的实现

6.2 查询优化

小结:

6.3 代数优化

6.3.1 常用的等价变换规则

  1. 连接、笛卡尔积的交换律和结合律

  1. 投影和选择的串接定律

即投影之后再投影,第二次投影的属性集合一定是第一次的子集,那么实际上就是在第二次的属性集上投影

选择时,两次选择可以合并为一次

  1. 选择与投影的交换律

  1. 选择和笛卡尔积的交换律

即笛卡尔积后选择可以变为先选择再笛卡尔积

  1. 选择和并、差、自然连接的分配律

  1. 投影和笛卡尔积、并的分配律

6.3.2 查询树的启发式优化

6.4 物理优化

6.4.1 选择的启发式规则

6.4.2 连接操作的启发式规则

第6章 查询处理和查询优化相关推荐

  1. 数据库系统概念总结:第十二、十三章 查询处理和查询优化

    周末无事水文章,期末备考的总结资料 第十二.十三章 查询处理和查询优化

  2. 第九章——关系查询处理和查询优化

    本章介绍关系数据库的查询处理(query processing)和查询优化(query optimization)技术 查询优化一般可分为代数优化(也称为逻辑优化)和物理优化(也称为非代数优化). 代 ...

  3. 第 3 章 查询截取分析

    第 3 章 查询截取分析 1.查询优化 1.1.MySQL 优化原则 mysql 的调优大纲 慢查询的开启并捕获 explain+慢SQL分析 show profile查询SQL在Mysql服务器里面 ...

  4. 《深入理解Elasticsearch(原书第2版)》——第2章 查询DSL进阶 2.1 Apache Lucene默认评分公式解释...

    本节书摘来自华章计算机<深入理解Elasticsearch(原书第2版)>一书中的第2章,第2.1节,作者 [美]拉斐尔·酷奇(Rafal Ku)马雷克·罗戈任斯基(Marek Rogoz ...

  5. 数据库系统实现 第六章 查询执行

    第六章 查询执行 查询执行也就是操作数据库的算法 一次查询的过程: 查询-->查询编译(第七章)-->查询执行(第六章)-->数据 查询编译预览 查询编译可以分为三个步骤: a)分析 ...

  6. 第二章 查询结果排序(SQL server经典实例)

    第二章 查询结果排序(SQL sever经典实例) 本章目录 第二章 查询结果排序(SQL sever经典实例) 1. 以指定顺序返回查询结果 2. 多字段排序 3. 根据子串排序 4. 排序时对nu ...

  7. 第123章 查询关键字 - SoapBodyUse

    文章目录 第123章 查询关键字 - SoapBodyUse 用法 详解 默认 与WSDL的关系以及对SOAP消息的影响 第123章 查询关键字 - SoapBodyUse 指定该查询用作web方法时 ...

  8. MICK-SQL基础教程(第二版)第二章 查询基础

    第二章 查询基础 SELECT语句基础 列的查询 SELECT <列名>,-- FROM <表名>: 查询出表中所有的列 SELECT * FROM <表名>; 为 ...

  9. 【高级数据库】第三章 查询执行

    [高级数据库]第三章 查询执行   第二章主要讲解如何在文件上添加索引来提高操作效率.第三章和第四章将主要讲解查询的实现细节. 第01讲 查询计划 1.查询编译预览   查询编译执行可分为三个步骤: ...

最新文章

  1. 考研规划计算机科学与技术,【图片】2020考研,老学长教你如何规划!【计算机考研吧】_百度贴吧...
  2. c语言大学程序设计题库,黑龙江大学C语言程序设计试题库程序单选
  3. 十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据
  4. jexcel可以合并单元格么_含金量超高的3个文本、字符合并实用技巧解读!
  5. 反向Socket连接
  6. Mapreduce自定义数据类型
  7. yum安装最新的 LNMP
  8. IntelliJ IDEA 的 Build Project/Build Module/构建项目/构建模块
  9. python全系列之爬虫scrapy_python爬虫scrapy之登录知乎
  10. Python处理Excel文件
  11. 家庭网络,怎么给每个房间装一个无线路由器?
  12. jvm堆内存设置原理
  13. UVA489 Hangman Judge【模拟】
  14. 文件压缩(C#代码)
  15. html 文本框 获取焦点事件,JS的文本输入框获得焦点与失去焦点的事件
  16. 三菱GXWorks2 变换梯形图
  17. CrackMe001
  18. 国产 android 平板,三大旗舰新品 国产Android系统平板对比
  19. 安装文件MSI文件和EXE文件有什么区别?
  20. Vuex 4源码学习笔记 - 做好changelog更新日志很重要(十)

热门文章

  1. arcgis新建图层信息复制_ArcGIS中的数据库之间复制和粘贴数据
  2. 东方幻想乡/BadApple!!
  3. 微信小程序3天刷量开流量主
  4. VsCode镜像下载(国内镜像源,高速秒下)
  5. 年末了,是该总结一波了,冲鸭2021
  6. 华为java一个月写多少行代码_[财经]阿里员工吐槽华为:面试官1万行代码都没写过? - 南方财富网...
  7. Jenkins流水线部署java项目
  8. tp获取php异常信息,ThinkPHP 异常处理
  9. HDS发布视频分析软件HVA 为企业提供运营智能与安全洞察
  10. 关于Kubernetes中API Server使用token、kubeconfig文件认证的一些笔记