-
主键、外键和索引的区别?
主键:唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性。主键只能有一个。
外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系,从而保证数据的一致性和完整性。一个表可以有多个外键。
索引:该字段没有重复值,但可以有一个空值,是提高查询排序的速度。一个表可以有多个唯一索引。 -
InnoDB数据存储方式
InnoDB存储格式由大到小:表空间 → 段 → 区 → 页 → 行
-
区(extent):对于16k的页,连续64个页就是一个区,大概1M的空间,每一个表空间都是由若干个连续的区组成的,每256个区被划分为一组。
-
段(Segment):分为索引段,数据段,回滚段等后边会将,段是为了区分不同的数据类型,相同的段存的数据类型是一致的。一个段包含256个区(256M大小)。