一条SQL查询语句的执行流程大致如下图所示:
流程描述:
- 客户端 发起请求;
- 请求到达 连接器(验证用户身份,给予权限);
- 查询缓存(存在缓存则直接返回,不存在则执行后续操作);
- 请求到达 分析器(对SQL进行词法分析和语法分析);
- 请求到达 优化器(主要对执行的SQL优化,选择最优的执行方案);
- 请求到达 执行器(执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口);
- 去引擎层 获取数据并返回(如果开启查询缓存,则会将查询的结果缓存起来)。
一条SQL查询语句的执行流程大致如下图所示:
流程描述: