聚集索引 |
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由 于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引 可以包含多个列
InnoDB 的数据文件本身就是索引文件。从上文知道,MyISAM 索引文件和数据文件是分 离的,索引文件仅保存数据记录的地址。而在 InnoDB 中,表数据文件本身就是按 B+Tree 组 织的一个索引结构,这棵树的叶节点 data 域保存了完整的数据记录。这个索引的 key 是数
据表的主键,因此 InnoDB 表数据文件本身就是主索引
非聚集索引 |
innodb 的非聚集索引的叶子节点上的 data 是主键(所以聚集索引的 key,不能过长)。为 什么存放的主键,而不是记录所在地址呢,理由相当简单,因为记录所在地址并不能保证一 定不会变,但主键可以保证