activiti表结构说明_Mysql学习笔记--神秘的mysql结构

以前写sql的时候,毫不关心mysql里面底层结构,对我来说是个黑盒。现在来揭开mysql以innodb引擎为例,它的底层到底是什么东西。

宏观一览

24eba8977267681b8e82b7b4fda79877.png

mysql把所有的信息都存在磁盘上,操作系统把这个叫做文件系统。mysql中有一个表空间的概念,一个表空间对应一个或者多个文件。整体上,mysql的样子就可以理解成如上图。可以看到主要有系统表空间和独立表空间,当然还有通用表空间、undo表空间、临时表空间……接下来具体看看表空间里到底存储了什么。

独立表空间结构

6a4266617e83ba499527cd23c03b6335.png

独立表空间

每一个表空间基础的差不多,以独立表空间为例。innodb是以页为单位来管理表空间的,一个页默认的大小是16k,不同的页中间用双向链表相关联,16个连续的页是一个区。区和区之间是物理文件的划分。每256个区又组成了一个组。还有一个概念,段。innodb每个表,这里的表就是我们一般说的数据库里面的表,至少会有一个聚簇索引,聚簇索引因为是b+树的结构,所以会有叶子节点和非叶子节点。当然他们的存储单元也是页。那么整个索引会分成2个部分,一个是叶子结点,另一个是非叶子节点,也就是2个段。在介绍段之前,先看一下聚簇索引的大体结构。

聚簇索引

9820a579cb87d0f5043ac650019530d6.png

页的结构

在mysql中,页的结构也不是很复杂,这边主要描述行记录在页中的存储。在一个页中有最小行记录和最大行记录,中间就是普通的行记录,他们之间是用单向链表串起来的。页中还有文件头部、尾部、目录等结构不做展开说明。

聚簇索引

聚簇索引主要由索引数据页(非叶子节点)和 真实数据页(叶子结点)组成。所以大体上聚簇索引有2部分组成。就是2个段。

聚簇索引的两个段

f914af0017d4c9da0241846a0117af06.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值