一、MySQL 查询优化器
1.SELECT 执行过程
那么如何提高 MySQL 的查询性能呢?首先你需要了解查询优化器处理 SQL 的全过程。以 SELECT 的 SQL 的执行过程为例,如下图所示。
(1)客户端发送一条 SELECT 查询给服务器;
(2)服务器先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段;
(3)服务器进行 SQL 解析、预处理、再由查询优化器生成对应的执行计划;
(4)MySQL 根据优化器生成的执行计划,调用存储引擎的 API 来执行查询;
(5)将结果返回给客户端,同时也会放入查询缓存中。