SQL的查询和更新执行流程
MySQL 的基本架构示意图:
从中可以看出:MySQL 可以分为 Server 层和存储引擎层两部分。
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。
并且可以看出,不同的存储引擎共用一个 Server 层,也就是从连接器到执行器的部分。
查询流程
-
连接器:连接器负责跟客户端建立连接、获取权限、维持和管理连接。
mysql -h$ip -P$port -u$user -p
输入该命令并且输入密码后,开始建立连接,之后连接器进行权限查询,即连接建立以后,权限就确定下来。如果发生变化,需要下次重新连接时生效。
通过
show processist
可以查看当前的mysql连接状态。