当前位置:网站首页>MySQL SQL的完整处理流程

MySQL SQL的完整处理流程

2022-07-07 02:39:00 菜鸟~~

mysql client和 mysql server进行通信的时候,如果走完所有的MySQL Server模块,需要依次经过连接器、解析器、优化器、执行器、存储引擎,如下图所示:
在这里插入图片描述

  • 连接器:使用TCP加密的ssl通信协议,管理连接,控制最大连接量,检测连接时长,权限验证(账号密码等),优先查询缓存(两次同样的select之间有更新操作,查询缓存会清空)
  • 解析器:和编译器的角色一样,要生成语法树,解析SQL词法以及语法分析
  • 优化器:生成SQL的执行计划以及当前SQL相应的索引的选择(explain可查看)
  • 执行器:调用存储引擎相应的API接口进行数据的读写操作
  • 存储引擎:花费磁盘I/O读写磁盘数据,构建B+树索引,事务日志(undo log/redo log),锁机制,隔离级别…
class BaseEngine{
    }

class MyISAM : public BaseEngine{
    }
class InnoDB : public BaseEngine{
    }

如果单纯的一次通信,客户端得到这一次通信的结果后会主动关闭连接,MySQL Server这边由连接器负责关闭这个连接,回收这个连接的资源。
在这里插入图片描述

原网站

版权声明
本文为[菜鸟~~]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_41721746/article/details/125634303