文章目录
参考文档
基础篇
执行一条select语句,期间发生了什么?
# 输出这条SQL语句的执行计划,然后key表示执行过程中使用了哪个索引
explain select * from order where id =1;
- 连接器:建立连接、管理连接、校验用户身份。
- 查询缓存:如果查询到缓存则直接返回,否则继续执行。MySQL8.0已删除模块。
- 解析SQL:词法分析、语法分析、构建语法树,方便后续读取表名、字段、语句类型。
- 执行SQL:
- 预处理阶段:检查表或字段是否存在;
- 优化阶段:基于查询成本的考虑,选择成本最小的查询执行计划;
- 执行阶段:执行SQL语句,从存储引擎读取记录ÿ