mysql的分层以及功能

     第一次接触分层思想是在学习网络的时候,OSI7层模型,各层完成自己的任务互相不干扰。

在Mysql中也采用用这种思想,这么做的好处就是规定了各层的功能那个,出现什么问题就去找各层的问题。大大减少了工作量。

那么在Mysql中大概分为四层:

    1、链接层     2、服务层    3、存储引擎层    4、存储层

一、链路层

主要功能是提供与客服端的链接服务,包含本地的sock通讯和大多数基于客户端/服务端工具实现的类似TCP/IP的通讯。主要完成一些类似于连接处理、授权认证、以及相关的安全方案。在改层引入了线程池的概率,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全连接、服务器也会为安全接入的每个客户端验证它所具有的操作权限。

 

二、服务层

提供各种用户使用的接口,如查询语句等

内置了SQL优化器(MySQL Query Optimizer)。 SQL优化器是MySQL服务层自带的一个服务,它会自动优化用户写得不是最优的SQL,使其达到优化的效果。但由于优化器毕竟只是优化器,有时候会将用户自定义的优化方案给更改掉,从而使用户自己的优化方案失效,这一点需要注意(也许你的SQL是这么写的但是实际执行不一定是这么执行的)

 

三、存储引擎层

主要提供存储引擎,常用的存储引擎有innoDB与MySIAM,一般现在默认是innoDB(区别后面会写到)

 

四、存储层

数据存储层,主要讲数据存储在运行裸设备的文件系统上,并完成与存储引擎的交互

 

posted @ 2020-09-01 12:44  菜鸡前端  阅读(553)  评论(0)    收藏  举报