我准备从mysql的实现出发,将mysql好好理解一下,从他的逻辑结构一层一层出发,感受一下,所以再学第一层之前,要先对mysql整体的逻辑结构有一个初步认识
mysql逻辑架构
整体来说,MySql的逻辑架构分成三个部分,这个之前我以为提到过
1)客户端:主要是建立连接的过程,交互的过程
2)核心服务
3)存储引擎
这个可能比较抽象,我们结合MySql的查询过程,结合着进行学习
MySql查询过程
这个图其实就是在第一个的基础上,进行的更加细致的划分,因为上面只是大致画出了逻辑架构,但是这个就展示了一整个过程。
我说一下大致的过程:
1)客户端向服务端发起一条请求
2)服务端先检查查询缓存,如果命中缓存,则直接返回结果,否则交给下一阶段
3)服务器进行SQL解析,预处理,在经过查询优化形成对应的执行计划
4)mysql根据执行计划