Log[数据库_表]_20.06.22

本文介绍了InnoDB存储引擎中表的逻辑存储结构,包括表空间、段、区、页的概念。详细讲解了InnoDB如何通过主键组织数据,并探讨了数据完整性、约束与索引的区别,特别是ENUM和SET约束的使用。此外,还讨论了触发器在数据完整性中的作用以及视图的概念和优点。
摘要由CSDN通过智能技术生成

InnoDB存储引擎中,每张表都有主键,如果在创建时没有显式地定义主键,则引擎会搜索表中是否有非空的唯一索引,如果有,该列为主键,如果没有,引擎会在表中创建一个大小6字节的指针。表都是根据主键顺序存放的。

1.InnoDB逻辑存储结构

所有的数据都被逻辑地存放在一个空间中,称之为表空间。表空间又由段、区、页组成。大致结构如图:

在这里插入图片描述

1.1 各区域解析

表空间——>之前有学到InnoDB引擎有一个共享表空间ibdata1,所有的数据都可以放在这个表空间内。如果开启了参数innodb_file_per_table,则每张表的数据都可以单独放在一个表空间内。但是每张表空间里存放的数据只有数据、索引和插入缓冲位图页。回滚信息、插入缓冲索引页、系统的事务信息,还有二次写缓冲还是存放在原来的共享表空间。

——>常见的段有数据段,索引段和回滚段,索引段在B+树中是非叶结点,也就是上图的非叶结点段;数据段则为上图的叶结点段。回滚段对于事务非常重要,后期单独介绍。

——>区是由连续页组成的空间,一个区里固定大小为1M,装着64个16KB的页。

——>页是磁盘管理的最小单位。常见页类型有索引页,数据页,und

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值