MySQL --- 读书笔记 --- SQL执行流程

MySQL中的SQL执行流程

查询流程

  1. 查询缓存:Server如果在查询缓存中发现了这条SQL语句,就会直接将结果返回给客户端;如果没有,就会进入解析器阶段。但是在MySQL8.0中该功能被删除
  2. 解析器解析,对SQL语句进行解析
    1. 先做词法分析,识别SQL语句中的各个词是什么,代表什么
    2. 接着做语法分析,根据词法分析的结果,根据语法规则,判断输入的SQL语句是否正确,如果正确,那将会生成一个语法树SQL
  3. 知道SQL语句的行为之后,进入优化器,优化器会确定SQL语句的最终执行路径,比如说是根据索引检索,还是全表检索;一条查询会有很多执行方式,结果是相同的,那么优化器的作用就是找到最好的执行计划
    • 查询优化又分为逻辑查询优化物理查询优化
    • 逻辑查询优化其实就是通过改变SQL语句的内容,等价变换之后,提高查询效率
    • 物理查询优化指的是索引,优化每一步实际查询计算物理路径的代价
  4. 执行器是最终执行的存储引擎的上层接口
posted @ 2022-05-22 14:45  huang1993  阅读(16)  评论(0编辑  收藏  举报