《MySQL实战45讲》学习笔记:01 mysql基础架构

76 阅读1分钟

mysql整体逻辑架构示意图

image-20250120230944576

连接器

客户端首次连接时,会先校验用户名和密码,如果通过,则会由连接器到权限表中查询权限。之后,这个链接中的权限判断逻辑都将依赖于此时读取到的权限

因此,如果在连接完成后,管理员修改了权限,也需要重连后才会生效

mysql在执行过程中临时使用的内存是管理在链接对象中的,这些资源在链接断开的时候才释放。此问题解决方案:

  1. 定期断开长连接
  2. MySQL 5.7以后的版本,在每次执行一个比较大的操作后,执行mysql_reset_connection来重新初始化连接资源

查询缓存

MySQL8.0 版本已经将此模块整个删除

此模块不再了解

分析器

此模块负责sql语句的词法、语法分析

如下的报错就是在这个阶段校验的

mysql> elect * from t where ID=1;
 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'elect * from t where ID=1' at line 1

优化器

此阶段决定了使用哪个索引;在sql语句有多表关联时,决定各个表的连接顺序

此阶段完成后,整个语句的执行方案就确定了

执行器

执行器处理select语句时的逻辑流程

image-20250120233930350