mysql一条查询语句的执行流程

82 阅读1分钟

参考链接

Mysql可以分为 Server层和 存储引擎两层

结构图:

01-架构图

Server层

  • 连接器

负责和客户端建立连接

  • 查询缓存(默认关闭,mysql8.0就已经关闭了)

查询语句和结果集,以 key-value 的形式存放,查询缓存的失效非常频繁,如果有表更新,则表上的所有查询缓存都会失效。

show variables like "have_query_cache"
  • 分析器

分析器分为 词法分析(判断表和列是否存在),语法分析(sql语句是否有语法错误)

  • 优化器

选择合适的索引,来查询sql

  • 执行器

操作引擎,返回结果,(调用Innodb引擎接口操作)

存储引擎层

负责数据的存储和提取