当前位置:网站首页>关系型数据库-MySQL:体系结构
关系型数据库-MySQL:体系结构
2022-08-04 05:26:00 【focus_lyh】
一、CS模型
tcp/ip
socket
二、实例构成
实例 = mysqld + 预分配的内存
= mysqld + Mseter Thread + N个工作线程 + 预分配的内存结构
老板 经理 员工 办公区
三、mysqld 的结构

范例讲解: 一条SQL语句的执行过程
命令:select user,host from mysql.user;
step1:连接层
- 提供连接协议
tcpip
socket - 提供验证功能
用户 密码 IP合不合法 - 提供专用的连接线程
接收SQL
返回结果
step2:SQL层
- 验证语法
- 语义检查:检查是什么类型的语句(DDL、DCL、DML、DQL)
- 权限检查:检查登录用户是否具备执行某些语句的权限
- 解析器: 将SQL语句解析成多种执行计划(预处理)
- 优化器: 根据解析器解析出的执行计划的“代价”评估,选择代价最小的
代价: 系统资源的消耗(CPU,MEM,IO) - 执行器: 根据选择后的执行计划,运行SQL语句,得出执行结果.
执行结果?
你需要的数据,在磁盘的xxxx位置上。 - 查询缓存
- 日志记录(二进制)
step3:存储引擎层(文件系统)
拿着执行器的结果,去磁盘找到相应的数据。结构化成用户能看懂的格式(表)
四、mysql 数据库的逻辑结构
- 库 : database / schema
- 表 : tables
列(字段): 列名,列的定义(数据类型,约束等)
行: 记录
五、mysql 对象的物理存储结构
库 ----> 目录
表 ----> 两个文件
例如:t1表
-rw-r----- 1 mysql mysql 8556 Mar 30 11:58 t1.frm
-rw-r----- 1 mysql mysql 98304 Mar 30 11:58 t1.ibd
t1.frm -----> 存储列的定义信息
t1.ibd -----> 存储数据行,索引
六、段、区、页
idb文件又被称之为一个表段;区,就是连续的多个页;一个段会有多个区构成;页(16kb)是最小的分配单元。
形象对比:
| mysql | 磁盘 |
|---|---|
| 段 | 分区 |
| 区 | 文件系统 |
| 页 | block |
边栏推荐
- OpenCV获取和设置图像的平均亮度
- 7.15 Day21---MySQL----Index
- 程序员也应了解的Unity粒子系统
- 即时通讯网 即时通讯音视频开发
- 手把手教你实现buffer(二)——内存管理及移动语义
- 4.3 Annotation-based declarative transactions and XML-based declarative transactions
- 7.18 Day23 - the markup language
- canal实现mysql数据同步
- 4.2 Declarative Transaction Concept
- 【Matlab仿真】:一带电量为q的电荷以速度v运动,求运动电荷产生磁感应强度
猜你喜欢
随机推荐
8、自定义映射resultMap
箭头函数的使用
IP地址查询
擎朗智能全国研发创新中心落地光谷:去年曾获2亿美元融资
力扣:509. 斐波那契数
php将多维数据保存进json文件
Summary of MySQL database interview questions (2022 latest version)
7.16 Day22---MYSQL(Dao模式封装JDBC)
处理List<Map<String, String>>类型
程序、进程、线程、协程的概念及区别
TensorRTx-YOLOv5工程解读(二)
12、分页插件
JS原型链
Unity自动生成阻挡Collider的GameObject工具
原型对象及原型链的理解
关于事件捕获和事件冒泡的顺序,以及如何处理事件冒泡带来的影响
7.13 Day20----MYSQL
程序员的财富观
OpenCV获取和设置图像的平均亮度
4.3 Annotation-based declarative transactions and XML-based declarative transactions



![Deploy LVS-DR cluster [experimental]](/img/ad/84e05a6421d668b0b6ba6eeba0c730.jpg)





