mysql查询执行流程


查询流程图

mysql查询执行流程

  • 查询缓存,判断 sql 语句是否完全匹配,再判断是否有权限,两个判断为假则到解析器解析语句,为真则提取数据结果返回给用户。 
  • 解析器解析。解析器先词法分析,语法分析,检查错误比如引号有没闭合等,然后生成解析树。 
  • 预处理。预处理解决解析器无法决解的语义,如检查表和列是否存在,别名是否有错,生成新的解析树。 
  • 优化器做大量的优化操作。 
  • 生成执行计划。 
  • 查询执行引擎,负责调度引擎获取相应数据 
  • 返回结果。