在MySQL里,聚集索引和非聚集索引分别是什么意思,有什么区别?
在MySQL中,InnoDB引擎表是(聚集)索引组织表(clustered index organize table),而MyISAM引擎表则是堆组织表(heap organize table)。
也有人把聚集索引称为聚簇索引。
当然了,聚集索引的概念不是MySQL里特有的,其他数据库系统也同样有。
简言之,聚集索引是一种索引组织形式,索引的键值逻辑顺序决定了表数据行的物理存储顺序,而非聚集索引则就是普通索引了,仅仅只是对数据列创
聚簇,其实是相对于InnoDB这个数据库引擎来说的,因此在将聚簇索引的时候,我们通过InnoDB和MyISAM这两个MySQL的数据库引擎展开。
InnoDB和MyISAM的数据分布对比
CREATE TABLE test (col1 int NOT NULL,
col2 int NOT NULL,
PRIMARY KEY(col1),
KEY(col2));
首先通过以上SQL语句创建出一个表格,其中col1是主键,两列数据均创建了索引。然后我们数据的主键取值为