当心愿 MySQL 可能以更高的性能运行查问时,最好的方法就是弄清楚 MySQL 是如何优化和执行查问的。一旦了解这一点,很多查问优化工作实际上就是遵循一些准则让优化器可能依照料想的正当的形式运行。
MySQL 执行一个查问的过程。如图,咱们能够看到当向 MySQL 发送一个申请的时候,MySQL 到底做了些什么:
1.客户端发送一条查问给服务器。
2.服务器先查看查问缓存,如果命中了缓存,则立即返回存储在缓存中的后果。否则进入下一阶段。
3.服务器端进行 SQL 解析、预处理,再由优化器生成对应的执行打算。
4. MySQL 依据优化器生成的执行打算,调用存储引擎的 API 来执行查问。
5.将后果返回给客户端。