聚簇索引(MySQL-InnoDB引擎下)
聚簇索引并不是一种单独的索引类型,而是一种存储方式。顾名思义,聚簇,使得数据行和相邻的键值紧促的存储在一起。(物理上的)
聚簇索引的数据分布
Mysql内置的存储引擎并不支持选择用于聚簇的索引,主键索引默认就是聚簇索引。
聚簇索引的优点:
1.可以将相互关联的数据保存在一起,例如,在实现电子邮箱应用时,可以根据用户ID聚集索引,因为聚簇索引的存储特点,在查询数据时,可以尽可能的减少磁盘I/O次数(因为数据聚集在一起,顺序读取页的效率要高于随机读取),提高查询速度。
2.在InnoDB中,主键和聚簇索引是同一个,索引和数据保存在同一个B-tree中,因此从聚簇索引中获取数据更快。
3.索引覆盖扫描查询可以直接使用叶节点中的主键值。
聚簇索引缺点:
1.更新代价很高,更新数据后,数据会被移动到新的位置。
2.基于聚簇索引的表在插入新行,或者主键被更新导致移动行时,会面临页分裂问题。当这一行插入某个以满的页中时,会导致存储引擎将该页分裂为两个页来容纳该行。
标签:存储,聚簇,索引,引擎,InnoDB,MySQL,主键 From: https://www.cnblogs.com/xiaoma0-0/p/18281696