通过 Mysql 的架构分层,我们首先就可以很清晰的了解到一个 SQL 的大概的执行过程。 首先客户端发送请求到服务端,建立连接。服务端先看下查询缓存是否命中,命中就直接返回,否则继续往下执行。接着来到解析器,进行语法分析,一些系统关键字校验,校验语法是否合规。然后优化器进行 SQL 优化,比如怎么选择索引之类,然后生成执行计划。最后执行引擎调用存储引擎 API 查询数据,返回结果。