如图所示(针对MySQL8.0之前的版本)
- 一条SQL语句在客户端通过通信协议发送到服务端;
- 查询缓存,若缓存命中则返回结果,否则执行下一步;
- 进入分析器进行分析;
- 进入查询优化器将其设置为一个执行计划;
- 执行计划进入执行器,查询执行引擎;
- 最后API接口查询,将查询结果返回客户端。
SQL语句分类
- 数据定义语言(DDL):表结构修改
- 数据查询语言(DQL):select操作
- 数据操作语言(DML):update、insert、delete
- 数据控制语言(DCL):权限操作
参考博客:微信公众号