Mysql 架构(1)

1.连接层

+

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

張義帥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值