3.3 每日总结(执行一条SQL请求的过程是什么?)

今天学习小林Coding上的典型mysql面试题。
执行一条SQL请求的过程是什么?

连接器:建立连接,管理连接、校验用户身份;

查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块;

解析 SQL,通过解析器对 SQL 查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型;

执行 SQL:执行 SQL 共有三个阶段:

预处理阶段:检查表或字段是否存在;将 select * 中的 * 符号扩展为表上的所有列。

优化阶段:基于查询成本的考虑, 选择查询成本最小的执行计划;

执行阶段:根据执行计划执行 SQL 查询语句,从存储引擎读取记录,返回给客户端;

posted @ 2025-03-07 23:05  笠大  阅读(18)  评论(0)    收藏  举报