共计 521 个字符,预计需要花费 2 分钟才能阅读完成。
聚簇索引 是指 索引的构造跟数据记录的物理存储构造统一,也能够说,聚合索引就是数据记录的物理存储构造,innodb 引擎中,聚簇索引就是主键索引。
以表 t 为例,剖析在不同存储引擎下,其索引的构造:
create table t(
id int primary key auto_increment,
score int,
name varchar(255),
KEY idx_name (name)
);
Innodb 引擎
主键索引(聚簇索引)
主键索引即聚簇索引,叶子节点存储残缺的一条记录,非叶子节点存储索引字段的值。
聚簇索引的问题:记录插入查问依赖主键的程序。
若按主键有序插入,那么主键索引是程序写入,性能较高;
若主键不是有序插入,比方 uuid,则每次插入需查找插入地位(可能还波及页决裂),变成随机写入,性能较差;
非主键索引
非主键索引,也称为二级索引,叶子节点存储主键的 ID,若要查问记录的其它信息,则须要回表到主键索引。
MyISAM 引擎
MyISAM 引擎依照记录的插入程序,保留到磁盘上。
MyISAM 的主键索引和非主键索引均不是聚簇索引,都不同于记录的物理存储构造。
主键索引
主键索引,其叶子节点存储该条记录的地址。
非主键索引
非主键索引,同主键索引相似,叶子节点存储该条记录的地址。
正文完