MySQL的架构

2020-09-25  本文已影响0人  Franck_

本文只是对自己掌握的知识的一点点总结,算是一点启蒙的总结,比较简单的介绍。

一个SQL,整个处理过程会经历过以下阶段: 接收SQL → 解析SQL → 优化查询路径→ 执行查询计划。

具体执行各个步骤的具体组件如下:

1 首先,在MySQL里面也会有一个数据库连接池,用于和客户端建立网络链接,接受SQL请求。

2 会有一个线程来监听数据库连接池,MySQL接收了SQL请求后,线程会从连接池里面取出SQL请求,然后将SQL交给“SQL接口”。

3 SQL接口是MySQL内部提供的一个组件,用于统一接受SQL请求,和处理SQL请求。SQL接口接受到SQL请求后,会将SQL交给“SQL解析器”。

3 SQL解析器是MySQL内部提供的一个组件,用于将SQL解析成一个个执行步骤。查询步骤,或者更新步骤。解析完毕后,SQL解析器会将SQL请求交给查询优化器。

4 SQL优化器是MySQL内部提供的一个组件,SQL解析器将SQL请求解析成一个查询路径树后,查询优化器选择出最优的查询路径,形成查询计划,然后将SQL请求交给执行器。

5 执行器器是MySQL内部提供的一个组件,执行器会根据查询计划,不停调用各个存储引擎去获取或者更新数据,完成我们的SQL请求。

6 存储引擎可以有多种,例如InnoDB,MyISAM 等。存储引擎是真正去内存,或者硬盘读写数据的执行者。

引用大佬画的示意图:


简易MySQL架构

只是记下来一些基础的内容,但是对于MySQL的架构,也还是处于迷糊的状态。希望后续的深入学习可以让我更加清晰了解各个部分。

上一篇 下一篇

猜你喜欢

热点阅读