1:客户端发起查询请求
2:服务器接收到请求后,先查询缓存 如果缓存命中,直接返回数据给客户端 否则,解析sql
3:sql解析完成后,进行预处理
4:有查询优化器生存查询计划
5:通过api接口调用存储引擎 去磁盘访问需要查询的数据,再通过查询执行引擎返回给客户端
值得一提的是:mysql的客户端与服务端通信,采用的是半双工通信,即永远是只有一方在发送数据。
客户端发送完请求后,只能等待服务端的数据返回,这种协议让mysql通信简单快速,但也限制了流量包,在客户端无法
分块的发送请求,而服务端返回的数据,数据量大通常通过分成多个小数据包返回给客户端,客户端也应该注意接收完整的数据包,而不是断点
接收部分,造成数据的丢失。
时间: 2024-10-12 07:42:30