## 本文档查阅众多资料总结,如有侵权,请联系博主删除
1、Sql语句执行原理
- 连接器:建立连接(三次握手),管理连接、校验用户身份;
- 查询缓存:如果语句存在缓存中则直接返回,否则继续往下执行,在Mysql8.0以上版本删除模块;
- 解析Sql:通过解析器对Sql查询语句进行词法分析、语法分析,然后构建语法树,方便后续模块读取表名、字段、语句类型;
- 执行Sql:
- 预处理:检查表或字段是否存在;将 select * 中的 * 符号扩展为表上的所有列。
- 优化:基于查询成本的考虑, 选择查询成本最小的执行计划;
- 执行:根据执行计划执行 SQL 查询语句,从存储引擎读取记录,返回给客户端;



