mysql 物理结构_02-mysql的逻辑结构\物理结构

一、mysql的逻辑结构

首先我们先看一下语句

select user,password,host from mysql.user;

e0a42740dcfe9c4081ce7eb7724a375b.png

我们最直观看到的就是执行这条语句后产生的结果,是一张表,这张表其实起就是mysql中产生的逻辑结构,这些表是用库来存放的

对于当前表来说,user表就是存放在mysql库中

库(database、schema),相当于Linux文件系统中的目录的概念,库中可以包含多张表

表:二维表

数据行

列属性:列名+列定义(约束)

逻辑结构总结:

"""库 ----> 表

|

元数据 + 数据行

|

列 + 其他属性(行数,占用空间大小,权限)

|

列名 + 数据类型 + 其他约束(非空\唯一\主键\非负数\自增长\默认值)"""

二、mysql物理结构

e21fc8e64ede4ef557acdbcd6c98985b.png

1、对于mysql来说,mysql的最底层是数据文件(这三个文件),也就是存储引擎打交道的是对象是数据文件。下一层是操作系统,下一层是磁盘,磁道、扇区、颗粒

2、存储引擎分为了很多种类

3、不同存储引擎区别:存储方式、安全性、性能

myisam:

-rw-rw----. 1 mysql mysql 10684 9月 24 17:51user.frm-rw-rw----. 1 mysql mysql 628 9月 24 18:29user.MYD-rw-rw----. 1 mysql mysql 2048 9月 24 18:38 user.MYI

"""user.frm: 称为表的结构信息,结构信息就是列属性的一部分

user.MYD: 行记录,真实数据

user.MYI: 索引"""

innodb:

-rw-rw----. 1 mysql mysql 8586 9月 24 18:29kkk.frm-rw-rw----. 1 mysql mysql 98304 9月 24 18:38 kkk.ibd

"""kkk.frm: 表结构

kkk.ibd: 表数据"""

33f4477e435aff17da405f0be107ef0a.png

"""对于mysql层来说,aaa.ibd文件就是mysql的最底层

对于操作系统来说,aaa.ibd文件就是逻辑层面的概念,文件系统对于操作系统来说就是最底层

对于硬件来讲,block块(文件系统)是逻辑概念,对于它自己来讲,柱面\扇区\磁道是逻辑层,真正存储在磁道上可磁化的金属颗粒"""

1、段、区、块

mysql是要把表记录存在ibd上,但是没有办法直接用ibd

页:mysql存储的最小单元,页的大小为16k,类似于block

将一个ibd文件划分为多个页

如果10条记录需要两个页存储,那么追加10行,还需要2页,因为都是操作的一张表,应该让这四页顺序的,但是中间有其他操作,现在前两个页和后两个页不是顺序的了,怎么办?

如果第一次需要两个页,mysql在分配时,会一次性多分配些,构成一个区。

区: 也就是连续的多个页,就是一个区

段: 段就是多个区,可以理解为一张表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值