1.连接层

Mysql 架构(1)+

MySQL 启动( MySQL 服务器就是一个进程),等待客户端连接,每一个客户端连接请求,
服务器都会新建一个线程处理(如果是线程池的话,则是分配一个空的线程),每个线程独
立,拥有各自的内存处理空间
show VARIABLES like '%max_connections%'
 
2.认证层
 
Mysql 架构(1)
 
连接到服务器,服务器需要对其进行验证,也就是用户名、 IP 、密码验证,一旦连接成功,
还要验证是否具有执行某个特定查询的权限(例如,是否允许客户端对某个数据库某个表的
某个操作)
 
3.处理层
 
Mysql 架构(1)
 
这一层主要功能有: SQL 语句的解析、优化,缓存的查询, MySQL 内置函数的实现,跨存储
引擎功能(所谓跨存储引擎就是说每个引擎都需提供的功能(引擎需对外提供接口)),例如:
存储过程、触发器、视图等。
1. 如果是查询语句( select 语句),首先会查询缓存是否已有相应结果,有则返回结果,无则
进行下一步(如果不是查询语句,同样调到下一步)
2. 解析查询,创建一个内部数据结构(解析树),这个解析树主要用来 SQL 语句的语义与语
法解析;
3. 优化:优化 SQL 语句,例如重写查询,决定表的读取顺序,以及选择需要的索引等。这一 阶段用户是可以查询的,查询服务器优化器是如何进行优化的,便于用户重构查询和修改相
关配置,达到最优化。这一阶段还涉及到存储引擎,优化器会询问存储引擎,比如某个操作
的开销信息、是否对特定索引有查询优化等

相关文章:

  • 2021-04-25
  • 2021-09-16
  • 2021-05-30
  • 2022-01-15
  • 2021-10-06
  • 2022-12-23
  • 2021-04-14
  • 2021-12-23
猜你喜欢
  • 2021-07-07
  • 2022-12-23
  • 2021-12-29
  • 2021-12-20
  • 2021-11-22
  • 2021-10-14
  • 2021-07-20
相关资源
相似解决方案