|NO.Z.00130|——————————|BigDataEnd|——|Java&MySQL.高级.V02|——|MySQL.v02|逻辑架构|

一、MySQL逻辑架构
### --- mysql逻辑架构

——>        学习 MySQL 就好比盖房子,如果想把房子盖的特别高,地基一定要稳,基础一定要牢固。
——>        学习MySQL 数据库前要先了解它的体系结构,这是学好 MySQL 数据库的前提。
### --- MySQL架构体系介绍

——>        MySQL 由连接池、SQL 接口、解析器、优化器、缓存、存储引擎等组成,
——>        可以分为四层,即连接层、 服务层、引擎层和文件系统层。
——>        如下是官方文档中 MySQL 的基础架构图:
### --- 连接层
——>        最上面是一些客户端和连接服务, 不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理、认证、安全管理等。
### --- 服务层
——>        中间层是MySQL的核心,包括查询解析、分析、优化和缓存等。同时它还提供跨存储引擎的功能,包括存储过程、触发器和视图等。
### --- 引擎层
——>        存储引擎层,它负责存取数据。服务器通过API可以和各种存储引擎进行交互。不同的存储引擎具有不同的功能,我们可以根据实际需求选择使用对应的存储引擎
### --- 存储层
——>        数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互
### --- SQL查询流程

——>        我们用一条 SQL SELECT 语句的执行轨迹来说明客户端与 MySQL 的交互过程,如下图所示。
——>        通过客户端/服务器通信协议与 MySQL 建立连接
——>        查询缓存,这是 MySQL 的一个可优化查询的地方,
——>        如果开启了 Query Cache 且在查询缓存过程中查询到完全相同的 SQL 语句,
——>        则将查询结果直接返回给客户端;如果没有开启Query Cache 或者没有查询到
——>        完全相同的 SQL 语句则会由解析器进行语法语义解析,并生成解析树。
——>        预处理器生成新的解析树。
——>        查询优化器生成执行计划。
——>        查询执行引擎执行 SQL 语句,此时查询执行引擎会根据 SQL 语句中表的存储引擎类型,
——>        以及对应的API 接口与底层存储引擎缓存或者物理文件的交互情况,得到查询结果,
——>        由MySQL Server 过滤后将查询结果缓存并返回给客户端。
——>        若开启了 Query Cache,这时也会将SQL 语句和结果完整地保存到 Query Cache 中,
——>        以后若有相同的 SQL 语句执行则直接返回结果。

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-04-06 15:53  yanqi_vip  阅读(32)  评论(0)    收藏  举报

导航