概要
希望MySQL能够以更高的性能运行查询,就要弄清楚MySQL是如何优化和执行查询的。本文介绍MySQL执行一个查询的全过程,帮助分析性能瓶颈。
查询执行的基础
下图为查询执行路径
1. 客户端发送一条查询给服务器。
2. 服务器先检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段。
3. 服务器端进行 SQL 解析、预处理,再由优化器生成对应的执行计划。
4. MySQL 根据优化器生成的执行计划,调用存储引擎的 API来执行查询。
5. 将结果返回给客户端。