当向MySQL 发送一个请求的时候MySQL 到底做了什么?
1、客户端发送一条查询给服务器
2、服务器先检查查询缓存,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段
3、服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划
4、MySQL 根据优化器生成的执行计划,调用存储引擎的API 来执行查询
5、将结果返回给客户端
注意:MySQL客户端和服务器之间的通信协议是“半双工”,这意味着,在任何时刻,要么有服务器向客户端发送数据,要么由客户端向服务器发送数据,这两个动作不能同时发生。