MySQL 查询优化器
SELECT 执行过程
那么如何提高 MySQL 的查询性能呢?首先你需要了解查询优化器处理 SQL 的全过程。以 SELECT 的 SQL 的执行过程为例,如下图所示。
- 客户端发送一条 SELECT 查询给服务器;
- 服务器先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段;
- 服务器进行 SQL 解析、预处理、再由查询优化器生成对应的执行计划;
- MySQL 根据优化器生成的执行计划,调用存储引擎的 API 来执行查询;
- 将结果返回给客户端,同时也会放入查询缓存中。
因为篇幅原因,查询优化器中各个功能模块的具体介绍这里不再赘述。
======================================================================================
开发人员关注sql优化即可。