学习mysql4-表空间

数据目录,区,段
摘要由CSDN通过智能技术生成

数据目录

文件系统中的表

文件系统中的,表一般由两部分存在文件中:
1.表结构
2.表数据
所有的存储引擎,都会把表名定义一个对应的文件名.frm

InnoDB是如何存储表数据的

InnoDB存储表数据的时候,对应的会生成一个.ibd文件,注意是把所有的表数据和表索引都存放在.ibd文件中,因为InnoDB采用数据列作为索引

MyISAM是如何存储表数据的

MyISAM存储表数据的时候,会生成一个.MYD文件来存放表数据,再生成一个.MYI来存表索引。也是因为MyISAM的索引是记录行号作为索引

视图在⽂件系统中的表⽰

mysql的视图实际并不是一个数据表,而是一个查询语句的别名。所以在文件系统中不用存数据,存返回的结构就可以了

⽂件系统对数据库的影响

1.文件系统的大小决定数据库的存储容量
2.数据库的命名按文件的命名要求,会转化特殊字符
3.数据库命名长度也受限制

MySQL系统数据库简介

1.mysql:存放了这个数据库的账户权限用户信息,还包括存储过程,事件定义
2.information_schema:存放的内容不是真实的用户数据,而是元信息,有哪些表那些列那些索引
3.performance_schema:主要用来存放数据库实际运行过程中的状态信息,记录某个查询的时间监控性能
4.sys:通过视图的方式,结合了2,3的内容,做统计分析用

独立表空间

独立表空间实际对应着⽂件系统中⼀个名为表名.ibd的实际⽂件,当我们往数据库某个表中插入数据的时候,实际是从找到独立表空间系统中的某个页,完成新增数据的过程

InnerDB表空间

InnerDB是以页为单位管理存储空间的,我们的聚簇索引(也就是完整的表数据)和其他的⼆级索引都是以B+树的形式保存到表空间的,⽽B+树的节点就是数据页。这个数据 页的类型名其实是:FIL_PAGE_INDEX
回顾一下通用页的内容:页尾做校验和
在这里插入图片描述
页头部(File Header):记录上一个和下一个页,记录当前页的类型,记录页所属的表空间等内容,记录页号4个字节,也就是说最大页2的32次,按每页16kb的大小,一个表空间最大存储64TB数据。

区是一个逻辑概念,是用来形容一块连续的页区域。一个组由256个区组成,一个区由连续的64个页组成。所以一个区的大小1Mb
盗个图源于从根儿上学习mysql:
在这里插入图片描述
extent 0 - extent 255算是第一个分组,extent0的前三个页如图所示
FSP_HDR :这个类型的页⾯是⽤来登记整个表空间的⼀些整体属性以及本组所有的区,也就是extent 0 ~ extent 255这256个区的属性,表空间内只有一个FSP_HDR页
IBUF_BITMAP:这个类型的页⾯是存储本组所有的区的所有页⾯关于I

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值