当我们向mysql发送一个请求的时候,mysql到底做了什么?
- 客户端发送一条查询给服务器。
- 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。
- 服务器端进行sql解析,预处理,再由优化器生成对应的执行计划。
- mysql根据优化器生成的执行计划,调用存储引擎的api来执行查询。
- 将结果返回给客户端。
sql解析与预处理
语法解析器会对sql语句进行检查,这一步会检查我们的sql是否正确,如果sql没有问题,则会生成对应的解析树
以上内容参考自《高性能MySQL》