MySql基础架构以及SQL语句执行流程( 二 )

  • 调用引擎接口获取“下一行”,重复相同的判断逻辑,直到读取这个表的最后一行 。
  • 执行器将上述遍历过程所有符合要求的结果返回给客户端 。
  • 至此,这个select语句算是执行完了 。
    数据库的慢查询日志中会看到rows_examined的字段,表示这个语句执行过程中扫描了多少行 。这个值就是在执行器每次调用引擎获取数据行的时候累加的 。
    有些情况下,执行器调用一次,在引擎内部则扫描了多行,因此引擎扫描行数跟rows_examined并不完全相同 。
    这样Mysql的逻辑架构和流程过了一遍,我也对整个sql语句的执行过程的各个阶段有了一个初步的认识 。也希望能对大家有帮助 。




    推荐阅读