怎么理解聚集索引和非聚集索引?

今天在学习数据库基础的索引时,发现聚集索引和非聚集索引怎么都没法理解,高手能给个通俗的解释吗,多谢多谢

聚簇索引即建立在聚簇上的索引,创建聚簇索引时,需要对已有表数据重新进行排序(若表中已有数据),即删除原始的表数据后再将排序结果按物理顺序插回,故聚簇索引建立完毕后,建立聚簇索引的列中的数据已经全部按序排列。一个表中只能包含一个聚簇索引,但该索引可以包含多个列。B-树索引中,聚簇索引的叶层就是数据页。非聚簇索引类似书本索引,索引与数据存放在不同的物理区域,建立非聚簇索引时数据本身不进行排序。一个表中科含多个非聚簇索引。B-树索引中,非聚簇索引的叶层仍是索引页,其以指针指向数据页实际存储位置。追问

不太明白这个聚集是什么意思,所以看的有些晕,呵呵。。,我再看看吧,谢谢

追答

这些术语都是翻译来的,你也不用专字眼啦,只要知道他们的概念和区别就好,如果更深入些的话就研究一下在什么场景下用哪一个就ok了,祝你成功。

追问

好嘞,各种晕着,看着老觉得是抽象的,联想不出什么东西出来,所以晕着,我再找找,期待有更形象的理解答案,3Q,嘿嘿

追答

嗯,不要只看看概念,结合具体的使用实例看看会更加深你的理解。有问题再追问吧,望采纳。

追问

http://www.cnblogs.com/chuncn/archive/2009/02/27/1399897.html
这篇文章讲的很好,采纳你的了,呵呵,菜鸟的我还有很多要学哦

追答

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-01
聚集索引:也称 Clustered Index。是指关系表记录的物理顺序与索引的逻辑顺序相同。由于一张表只能按照一种物理顺序存放,一张表最多也只能存在一个聚集索引。与非聚集索引相比,聚集索引有着更快的检索速度。
MySQL 里只有 INNODB 表支持聚集索引,INNODB 表数据本身就是聚集索引,也就是常说 IOT,索引组织表。非叶子节点按照主键顺序存放,叶子节点存放主键以及对应的行记录。所以对 INNODB 表进行全表顺序扫描会非常快。
非聚集索引:也叫 Secondary Index。指的是非叶子节点按照索引的键值顺序存放,叶子节点存放索引键值以及对应的主键键值。MySQL 里除了 INNODB 表主键外,其他的都是二级索引。MYISAM,memory 等引擎的表索引都是非聚集索引。简单点说,就是索引与行数据分开存储。一张表可以有多个二级索引。
关键词:爱可生、开源数据库、数据监测、数据库运维

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网