首页 > 数据库 > mysql教程 > 【连载】关系型数据库是如何工作的?(9)

【连载】关系型数据库是如何工作的?(9)

WBOY
发布: 2016-06-07 14:50:49
原创
1262 人浏览过

查询管理器 查询管理是一个数据库强大与否的一个判断指标。通过查询管理,可以把一个糟糕的查询语句转换为一段快速执行的代码,代码执行后返回结果给客户端管理器。整个过程分为多步: 查询首先被解析并检查其有效性; 重写查询并删除不必要的操作,另外做一

查询管理器

查询管理器

查询管理是一个数据库强大与否的一个判断指标。通过查询管理,可以把一个糟糕的查询语句转换为一段快速执行的代码,代码执行后返回结果给客户端管理器。整个过程分为多步:

  • 查询首先被解析并检查其有效性;
  • 重写查询并删除不必要的操作,另外做一些预优化;
  • 为了提升性能进行必要的优化,最终转换为一个执行计划;
  • 编译执行计划;
  • 最后运行执行计划。

在读了这一章节之后,如果对查询优化想更深入的理解,我推荐阅读以下资料:

  • 1979年发表的一篇最早的关于基于成本优化的论文: Access Path Selection in a Relational Database Management System。这篇论文只有12页,只要具备计算机科学中级水平就可以理解。
  • 关于DB 9.X如何优化查询的深度介绍:DB2 for Linux, UNIX, and Windows Optimizer。
  • 一篇关于PostgreSQL如何优化查询的详细介绍:Explaining the Postgres Query Optimizer。这篇非常易于理解,因为它并不是从PostgreSQL的算法角度介绍,而是展示了PostgreSQL的查询计划。
  • SQLite官方优化文档:The SQLite Query Planner。它很容易读懂,以你为SQLite优化规则很简单;但是它仅仅解释了优化器如何工作。
  • SQL Server 2005优化查询的介绍:Understanding Query Processing and Query Plans in SQL Server
  • Orcale 12c优化白皮书:Optimizer with Oracle Database 12c
  • 《DATABASE SYSTEM CONCEPTS》的作者两篇关于查询优化的理论课程,它们主要聚焦于磁盘IO:Chapter 12: Query Processing、Chapter 13: Query Optimization
  • 还有一篇我找到的更容易理解的只介绍join操作和磁盘IO的理论课程:Datenbanksysteme II: Implementation of Database Systems
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板