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的架构,也还是处于迷糊的状态。希望后续的深入学习可以让我更加清晰了解各个部分。