01 | 基础架构:一条SQL语句是如何执行的?


MySQL 的架构分为 Server 层和存储引擎层。 其中 Server 层包含:
而存储引擎则负责数据的存储的提取,采用插件式架构,支持 InnoDB、MyISAM、Memory 等多种存储引擎。
show processlist 查看空闲连接wait_timeout 参数控制query_cache_type 设置为 DEMAND,所有 sql 语句默认都不使用查询缓存select SQL_CACHE * from T where ID = 10;如果命中查询缓存,会在返回结果的时候验证权限
如果没有命中查询缓存,会在执行查询前验证权限
如果有权限,根据表的执行引擎,调用执行引擎的接口执行查询。执行步骤:
3.1 调用引擎获取第一行,判断是否符合查询条件,是则存到结果集中,否则跳过
3.2 调用执行引擎获取下一行,重复相同的判断,直到遍历到这个表最后一行
3.3 执行器将结果集返回给客户端
本文作者:菜宝熊
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!