01 | Msyql系统架构
创始人
2025-05-30 21:40:24
0

目录

  • MySQL系统架构
    • 连接器
    • 查询缓存
    • 分析器
    • 优化器
    • 执行器


MySQL系统架构

在这里插入图片描述
大体来说,MySQL分为Server层和引擎层两部分。

Server层包含链接器、查询缓存、分析器、优化器和执行器,而引擎层负责的是数据的存储和读取,支持InnoDB、Myisam、Memory等多种存储引擎,默认InnoDB。

连接器

mysql -h$ip -P$port -u$user -p

如果输入的密码不对,会收到Access denied for user的错误;如果输入密码正确,连接器会查询出权限表中此账户所拥有的权限,这个连接后续所有的权限判断、都依赖于此时查出来的权限。

这就意味着,一个用户成功建立连接后,即使你用管理员账号对这个用户的权限做了修改,也不会影响已经存在连接的权限。修改完成后,只有再新建的连接才会使用新的权限设置。可以通过show processlist;命令查看已经建立的连接
在这里插入图片描述

连接建立后如果长时间没有客户端请求,那么超过8个小时后连接会自动断开,这个时间由wait_timeout参数控制。这个时候需要重连才能继续访问MySQL。

有时候我们会发现MySQL占用内存涨的特别快,这是因为MySQL在执行过程中临时使用的内存是管理在长连接对象中的,这些内存占用在连接断开的时候才会重置。所以长连接在运行过程中可能会因为占用内存过大而被系统杀掉,从现象看就是MySQL服务重启了。有以下两种解决方案:

  • 定期断开长连接,或者执行完一个占用内存比较大的查询后、断开连接,之后的请求再重连;
  • 也可以通过执行mysql_reset_connection命令重置连接,他会将连接重置为连接刚刚建立时的状态(MySQL5.7及以上)。

查询缓存

MySQL在拿到一个查询请求之后,会首先到查询缓存中查看是否有这条查询语句的缓存。缓存时一个K-V结构,K就是这条语句,V是具体的查询结果。如果找到了缓存那么直接返回,否则在进行具体查询,并将结果更新到查询缓存中。

但是在MySQL8之后已经将查询缓存的功能整体移除了,因为这是一种弊大于利的功能,只要对这张表的任何数据有更新操作,那么这张表所涉及的所有查询缓存都会失效。当然一些不经常修改系统变量之类的表仍适合使用查询缓存功能,总体来说弊大于利。

分析器

如果没有命中查询缓存,接下来就会轮到分析器工作。

首先经过词法分析,它会识别出SQL中的字符串分别代表什么,比如select表示查询,id代表主键列等;然后进入语法分析,判断SQL语句是否符合语法标准,如果语法不对,会报出You have an error in your SQL syntax的错误。

优化器

优化器会选择使用哪个索引,当有多表联合查询的时候、决定各个表的连接顺序。

执行器

真正执行的地方,最终扫描行数可以在rows_examined看到

相关内容

热门资讯

安卓系统双清详图解,恢复出厂设... 你有没有遇到过手机卡顿、运行缓慢的问题?别急,今天就来给你详细解析一下安卓系统的“双清”操作,让你的...
召唤抽奖系统安卓直装,轻松体验... 你知道吗?现在市面上有一种特别火的玩意儿,那就是召唤抽奖系统安卓直装。是不是听起来就让人心动不已?没...
系统工具箱安卓2.3,深度解析... 你有没有发现,手机里的那些小工具,有时候就像是个神奇的百宝箱呢?今天,就让我带你一探究竟,看看安卓2...
华硕平板安卓刷机系统,解锁性能... 亲爱的数码爱好者们,你是否曾为你的华硕平板安卓系统感到厌倦,想要给它来一次焕然一新的体验呢?那就跟着...
鸿蒙系统与安卓怎么区别,差异解... 你有没有发现,最近手机圈子里有个大热门,那就是鸿蒙系统和安卓系统的区别。这两位“系统大侠”各有各的绝...
红帽系统怎么刷回安卓,红帽系统... 你是不是也和我一样,对红帽系统刷回安卓充满了好奇?别急,今天就来给你详细揭秘这个过程,让你轻松上手,...
ios安卓联想三系统,全面解析... 你有没有发现,现在的手机市场真是热闹非凡呢!各种操作系统轮番登场,让人眼花缭乱。今天,就让我带你来聊...
安卓调用系统相机并存盘,And... 你有没有想过,手机里的照片和视频,是怎么被我们随手拍下,又神奇地存到手机里的呢?今天,就让我带你一探...
安卓4.0原生系统下,引领智能... 你有没有发现,安卓4.0原生系统下,手机的使用体验简直就像打开了新世界的大门?今天,就让我带你一起探...
安卓c13系统,创新功能与性能... 你知道吗?最近安卓系统又来了一次大更新,那就是安卓C13系统。这可不是一个小打小闹的更新,而是带来了...
鸿蒙3.0脱离安卓系统,开启全... 你知道吗?最近科技圈可是炸开了锅,因为华为的新操作系统鸿蒙3.0横空出世,竟然宣布要脱离安卓系统,这...
安卓怎么应对苹果系统,安卓系统... 你知道吗?在智能手机的世界里,安卓和苹果就像是一对相爱相杀的恋人。安卓系统,这位多才多艺的“大众情人...
安卓系统如何开橱窗教程,安卓系... 你有没有想过,你的安卓手机里也能开个橱窗,展示那些你心爱的宝贝?没错,就是那种可以随时翻看、随时分享...
安卓系统软件APK,深入探究安... 你有没有发现,手机里的那些好玩的应用,其实都是靠一个小小的文件来“住”进去的?没错,就是安卓系统里的...
css安卓系统line-hei... 你有没有发现,在使用安卓手机的时候,有时候文字看起来会有些挤,不够舒展呢?这可真是让人头疼的小问题。...
如何换桌面安卓系统,轻松切换个... 你是不是也和我一样,对安卓系统的桌面换换口味,想要来点新鲜感呢?那就跟我一起探索如何轻松给安卓桌面来...
安卓移动到系统目录lib,An... 你有没有想过,你的安卓手机里那些神秘的系统目录里藏着什么秘密?今天,就让我带你一探究竟,揭开安卓移动...
安卓系统神器软件下载,畅享智能... 你有没有发现,手机里装满了各种应用,但总有一些神器级的软件,让你的生活和工作变得轻松愉快呢?今天,就...
安卓系统怎么创小号教程,安卓系... 你是不是也和我一样,对安卓系统的小号功能充满了好奇?想要在同一个设备上玩转多个账号,但又不知道怎么操...
华为安卓9.0系统图库,探索创... 你知道吗?最近华为出了一款搭载安卓9.0系统的手机,那叫一个火啊!这款手机不仅外观时尚,性能强大,而...