Skip to content

《面渣逆袭》MySQL 篇 · 第 2/10 章。原版 PDF(下载 / 打印)

14.说说 MySQL 的基础架构?

配图

MySQL 逻辑架构图主要分三层:

客户端:最上层的服务并不是 MySQL 所独有的,大多数基于网络的客户端/ 服务器的工具或者服务都有类似的架构。比如连接处理、授权认证、安全等等。

Server 层:大多数 MySQL 的核心服务功能都在这一层,包括查询解析、分析、优化、缓存以及所有的内置函数(例如,日期、时间、数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

存储引擎层:第三层包含了存储引擎。存储引擎负责 MySQL 中数据的存储和提取。Server 层通过 API 与存储引擎进行通信。这些交叉屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。

15.一条 SQL 查询语句在 MySQL 中如何执行的?

先检查该语句是否有权限,如果没有权限,直接返回错误信息,如果有权限会先查询缓存

(MySQL8.0 版本以前) 。

如果没有缓存,分析器进行语法分析,提取 sql 语句中 select 等关键元素,然后判断 sql 语句是否有语法错误,比如关键词是否正确等等。

语法解析之后,MySQL 的服务器会对查询的语句进行优化,确定执行的方案。

完成查询优化后,按照生成的执行计划调用数据库引擎交叉,返回执行结果。

本文整理自三分恶《面渣逆袭》系列的公开内容,仅供个人学习使用

本站仅供个人学习使用,请勿外传