图说mysql查询执行流程

ZvUzE3.jpg

1. 查询缓存,判断sql语句是否完全匹配,再判断是否有权限,两个判断为假则到解析器解析语句,为真则提取数据结果返回给用户。

2. 解析器解析。解析器先词法分析,语法分析,检查错误比如引号有没闭合等,然后生成解析树。 

3. 预处理。预处理解决解析器无法决解的语义,如检查表和列是否存在,别名是否有错,生成新的解析树。 

4. 优化器做大量的优化操作。 

5. 生成执行计划。 

6. 查询执行引擎,负责调度引擎获取相应数据 

7. 返回结果。


你可能感兴趣的:(图说mysql查询执行流程)