Heim > Datenbank > MySQL-Tutorial > 【连载】关系型数据库是如何工作的?(9)

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

WBOY
Freigeben: 2016-06-07 14:50:49
Original
1261 Leute haben es durchsucht

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

查询管理器

查询管理器

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

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

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

  • 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
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage