如何执行一条sql过程

 
 
0
 
如图:MySQL 可以分为两层,service层 和 引擎层
 
客户端:
连接器     管理链接,权限校验
分析器     词法分析,语法分析
service层    优化器 执行计划生成,索引选择
执行器     操作引擎,返回结果
存储引擎    存储数据,提供读写接口
查询缓存   在 mysql 8.0已经去掉
 
首先第一步,链接器,校验客户端是否建立链接,获取权限,维护和链接。
第二部,查询缓存,mysql 会去缓存判断是否之前已存在执行过该语句。如果不在缓存再继续下一步骤。8.0后已去掉
第三步,分析器,识别语句是 update,select等关键词
第四步,优化器,优化语句,确定索引的选择,表顺序等
第五步,执行器,先判断是否对表有权限,如果有开始执行语句。
 
 
 
 
posted @ 2021-07-04 15:06  a菜搬砖  阅读(42)  评论(0)    收藏  举报