首页 / 数码智能 / 正文

聚簇索引和非聚簇索引的区别

时间:2024-11-14 00:02:34

聚簇索引和非聚簇索引的区别 

聚簇索引和非聚簇索引的主要区别在于数据存储和索引的关系

1. 聚簇索引:将数据存储与索引放在一起,找到索引也就找到了数据。聚簇索引的顺序就是数据的物理存储顺序,所以一个表最多只能有一个聚簇索引。在Innodb中,聚簇索引默认是主键,如果表中没有定义主键,InnoDB会选择一个唯一的非空索引代替。聚簇索引的叶子节点存储的是行的物理位置。

2. 非聚簇索引:将数据存储和索引分开,索引结构的叶子节点指向了数据的对应行。非聚簇索引都是辅助索引,包括复合索引、前缀索引、唯一索引等。辅助索引访问数据总是需要二次查找,也就是先通过索引找到数据的主键,然后再通过主键找到具体的数据行。非聚簇索引的叶子节点存储的是主键值。

需要注意的是,聚簇索引的唯一性,它是数据的物理存储顺序,而对非聚簇索引(二级索引),其索引顺序和数据的物理存储顺序是不一致的。

《聚簇索引和非聚簇索引的区别》不代表本网站观点,如有侵权请联系我们删除

点击排行

战略网  版权所有 粤ICP备2021127029号

联系我们 关于我们 版权申明