编辑
2023-12-04
后端
00
请注意,本文编写于 523 天前,最后修改于 517 天前,其中某些信息可能已经过时。

MySQL请求处理过程大致可以分为以下几个阶段:

  1. 连接管理/连接器:
    • 客户端与服务器进程之间建立连接,可以使用TCP/IP、命名管道或共享内存等方式进行连接。
    • 客户端提供主机信息、用户名和密码等,服务器对提供的信息进行认证和权限验证
  2. 解析与优化:
    • 查询缓存(MySQL 8中已取消):MySQL会将查询请求的结果进行缓存处理,如果有相同的请求访问,会直接返回缓存结果。
    • 语法解析:对请求进行词法解析、语法解析和语义解析,从指定的文本中获取查询条件。
    • 查询优化:根据查询条件生成执行计划,包括使用哪些索引、表的连接顺序等。
  1. 执行:
    • 执行器:判断当前用户是否有操作权限,根据操作表的结构调用存储引擎进行数据的存储和提取操作。
    • 存储引擎:MySQL的存储引擎负责实际的数据存储和查询操作,常见的存储引擎有InnoDB和MyISAM等。

总结: MySQL的请求处理过程包括连接管理、解析与优化以及执行阶段。在连接管理阶段,客户端与服务器建立连接并进行认证和权限验证。解析与优化阶段包括查询缓存、语法解析和查询优化,其中查询缓存已在MySQL 8中取消。执行阶段由执行器和存储引擎完成,执行器判断权限并调用存储引擎进行数据的存储和提取操作。


Learn more:

  1. MySQL处理一次请求的大概流程 - 掘金
  2. Mysql服务器处理客户端请求流程 - 庄子游世 - 博客园
  3. SQL请求在MySQL的执行流程解析 - 掘金
  4. https://mp.weixin.qq.com/s/R-1km7r0z3oWfwYQV8iiqA

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!