sql执行基础流程

21 阅读1分钟

1 链接器

2 解析器

2.1 词法分析

生成token

2.2 语法分析

构建语法树

3 执行器

3.1 预处理

检查字段是否存在,扩展*

3.2 优化

选择最优执行计划

3.3 执行

3.3.1 主键索引查询

存储引擎通过索引定位到要查找的数据,然后server层判断这条数据是否满足条件,满足就返回客户端

3.3.2 全表扫描

server层调用存储引擎的全表扫描接口,一条一条的返回数据给server层,server层再判断每一条数据是否满足要求,直到读完所有数据

3.3.3 索引下推

在联合索引中,一个索引idx1能使用,另一个索引idx2不能使用,索引下推将idx2的筛选下推给存储引擎,而不是server层处理