Mylsam
Mylsam的索引与行记录是分开存储的,都是非聚集索引。
- 其主键索引与普通索引没有本质区别:①有个连续聚集的区域单独存储行记录;②主键索引的叶子结点,存储主键与对应行记录的指针;③普通索引的叶子结点,存储索引列与对应行记录的指针。
- Mylsam表可以没有主键
- 主键索引与普通索引都是两棵独立的索引B+树,通过索引查找,先定位到B+树的叶子节点,再通过指针定位到行记录。
InnoDB
InnoDB的主键索引与行记录是存储在一起的,均为聚集索引。
- ①没有单独的区域存储行记录;②主键索引的叶子节点,存储主键与对应行记录。
- 聚集索引只能有一个,InnoDB必定会有主键
- 非聚集索引存储索引列及主键
以上参考:https://mp.weixin.qq.com/s/39XgTTC2VUVGq0EIlpb3WA