![db2ee02dfb1b25c5deb6f4a85d509a70.png](https://img-blog.csdnimg.cn/img_convert/db2ee02dfb1b25c5deb6f4a85d509a70.png)
前言
最近朋友小王正在找工作,然后有一个面试官问他知不知道 “查询sql具体的执行流程” 。
小王说不知道呀,然后面试官直接对小王说:小伙子 耗子尾汁(好自为之) ,怎么连这么简单的都不知道呢?
小王听后脱口而出:哼!面试官你 不讲武德 ,不按套路出牌呀,你应该问问索引相关的知识呀,这个我倍清楚。
![4ca67fd50975b82eac1faf459cf77373.png](https://img-blog.csdnimg.cn/img_convert/4ca67fd50975b82eac1faf459cf77373.png)
在听完小王描述后,自己也在脑海中搜了搜这个知识点,可怜的是我的知识库里也没找到相关内容,然后就去面壁思过了,随后本文就诞生了。
注意 :本文主要以 MySql 为例;说到了MySql了,然后再唠叨下现在使用十分普遍的MySql的姊妹数据库 MariaDB 。
MariaDB 是个什么东东呢?
MySql被Oracle收购后,MySql的创始人担心MySql数据库发展的未来(开发缓慢、封闭、可能会被闭源),于是创建了一个分支MariaDB,默认使用全新的Maria存储引擎,它是原来Mysql中的 MyISAM 存储引擎的升级版。
本文主线:
①、MySql的整体架构描述;
②、Server层各节点描述;
③、InnoDB存储引擎描述;
MySql架构描述
咱啥也先不说,先贴上一张摘抄自网上的大图:
![ae696d3cd47f2be33aa7a9808f71c618.png](https://img-blog.csdnimg.cn/img_convert/ae696d3cd47f2be33aa7a9808f71c618.png)
上面这张