当前位置:网站首页>关系型数据库-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 |
边栏推荐
猜你喜欢

The cost of automated testing is high and the effect is poor, so what is the significance of automated testing?

scrapy 爬取当当图书名字图片

Set集合与Map集合

基于C语言的学生信息管理系统_(更新版)_(附源码和安装包)_课程设计_**往事随風**的博客

MySQL database (basic)

Web Basics and Exercises for C1 Certification - My Study Notes

Summary of MySQL database interview questions (2022 latest version)

webrtc中的视频编码(一) 视频编码模块轮廓

自动化测试的成本高效果差,那么自动化测试的意义在哪呢?

Canal mysql data synchronization
随机推荐
9. Dynamic SQL
关于C#的反射,你真的运用自如嘛?
thymeleaf中onclick事件动态传递参数问题
Unity DOTS学习教程汇总
显式调用类的构造函数(而不是用赋值构造),实现一个new操作
12、分页插件
Programming hodgepodge (3)
Handling List
Code Refactoring: For Unit Testing
8. Custom mapping resultMap
Web Basics and Exercises for C1 Certification - My Study Notes
OpenRefine中的正则表达式
JS basics - forced type conversion (error-prone, self-use)
自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
进入古诗文网站个人中心,绕过登录
MySQL date functions
力扣:509. 斐波那契数
JS基础--强制类型转换(易错点,自用)
7.13 Day20----MYSQL
webrtc中视频采集实现分析(二) 视频帧的分发