MySQL的架构模型
看到大牛用户DB架构部的Keithlan《数据库性能优化之查询优化》,在学习过程发现很多不错的东西,就把它保存下来,分享给大家,因为作者说了一句很经典的话:“if you want to go fast,go alone; if you want to ga far,go together!”,嘻嘻,希望大家都会分享,共同进步。下面说说MySQL的架构模型,希望能让更多同学理解从发起请求--->处理请求--->返回结果的过程
一、
1、客户端发一条查询给服务器。
2、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。
3、服务器进行SQL解析、预处理,再由优化器生成对应的执行计划。
4、MySQL根据优化器生成的执行计划,调用存储引擎的API来执行查询。
5、将结果返回给客户端。
二、以下是马哥老师给大家画的一个MySQL模型,
表管理器:负责创建、读取或修改表定义文件;维护表描述符高速缓存;管理表锁;表结构定义文件
表修改模块:表创建、删除、重命名、移除、更新或插入之类的操作; 表维护模块:检查、修改、备份、恢复、优化(碎片整理)及解析;
三、以下是MySQL DBA及Linux 企业集群实战工程师--刘子佼老师总结的图片:
希望这些能给初学的朋友带来帮助,如果想深入研究整个请求处理过程,就看你们的自己的努力啦!!0