写点什么

01 | Mysql 基础架构

用户头像
zach
关注
发布于: 2021 年 02 月 18 日
01 | Mysql基础架构

先问几个问题

  • [ ] 为什么修改权限后要到下次建立连接时才生效

  • [ ] mysql 的长连接与短连接各有什么优劣

  • [ ] 为什么使用长连接后有时 mysql 占用内存涨的特别快

  • [ ] 如何解决长连接的占用内存多的问题

一、学习思想:

自顶向下,鸟瞰全貌

二、基本架构:

1、跨存储引擎的功能

  • 连接器:先连接 功能:负责与客户端建立连接、获取权限、维持和管理连接 实例:进入 mysql 时输入的:mysql -u xxx -p xxx 连接成功后:从权限表中查出权限,是本次连接的所有权限(修改权限下次生效) show processlist命令可以查看当前所有连接 连接器可以自动断开:由变量 wait_timeout 控制 mysql的长短连接推荐阅读 长连接:连接后,若客户端持续请求,则一直使用同一个连接 好处:减少连接的开销 坏处:长时间占用内存空间,系统会因其占用内存过多而强行杀掉,导致 mysql 异常退出 短连接:执行完几次查询后就断开,需要重连 频繁建立连接耗时

  • 查询缓存 8.0 版本已废弃 缓存失效非常频繁

  • 分析器:你要干啥 从 SQL 语句中进行解析语句,生成解析树 检查语法是否正确

  • 优化器:最优解 决定使用什么索引 决定多表关联时的连接顺序

  • 执行器:去做吧 判断是否有权限 调用存储引擎的 API

2、存储与提取

  • 插件式:支持 InnoDB、MyISAM、Memory 等多个存储引擎

  • InnoDB 是默认的存储引擎


发布于: 2021 年 02 月 18 日阅读数: 24
用户头像

zach

关注

还未添加个人签名 2020.06.17 加入

还未添加个人简介

评论

发布
暂无评论
01 | Mysql基础架构