浅谈Mysql服务器的结构

Mysql服务器的结构

Mysql服务器大致可以分为三层:客户端层、server层和引擎层

在这里插入图片描述
下面大致说一下这三层:
(1)客户端层:该层主要是用于用户输入用户名和密码进行连接数据库,一般使用的命令为:

mysql -h 主机名/ip地址 -P 端口号 -u 用户名 -p

按下回车后输入mysql密码即可
(2)server层:sql语句首先进入分析器,分析器细分为词法分析和语法分析,词法分析主要分析sql语句的关键字,例如sql语句中的select,可以得出该语句是查询语句,接着识别出表,表中的列等。
语法分析主要是看sql语句的语法是否正确,不正确会报sql语法错误。待sql语句语法正确后,接着进入优化器,如果sql语句为查询语句,则优化器会为sql语句选择合适的索引,以及join的两个表的执行顺序。sql语句优化完成后进入执行器,执行器调引擎层的读写接口执行sql语句。
(3)引擎层:引擎层主要用于数据的存取,我们常见的引擎有MyIsam引擎和InnoDB引擎。
注:在图中的server层可以看到有一个缓存,在mysql8.0版本之后,缓存就被去掉了;原因是因为虽然数据在缓存中可以提高数据的查询效率,但是当这个数据所在的表中的任意一行记录修改,都会导致该数据在缓存中失效,对于修改比较频繁的表,建议关掉缓存,将缓存设置为demand模式,即按需使用。是否开启缓存主要看业务逻辑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值