聚簇索引(MySQL-InnoDB引擎下)

聚簇索引(MySQL-InnoDB引擎下)

聚簇索引并不是一种单独的索引类型,而是一种存储方式。顾名思义,聚簇,使得数据行和相邻的键值紧促的存储在一起。(物理上的)

聚簇索引的数据分布

Mysql内置的存储引擎并不支持选择用于聚簇的索引,主键索引默认就是聚簇索引。

聚簇索引的优点:

1.可以将相互关联的数据保存在一起,例如,在实现电子邮箱应用时,可以根据用户ID聚集索引,因为聚簇索引的存储特点,在查询数据时,可以尽可能的减少磁盘I/O次数(因为数据聚集在一起,顺序读取页的效率要高于随机读取),提高查询速度。

2.在InnoDB中,主键和聚簇索引是同一个,索引和数据保存在同一个B-tree中,因此从聚簇索引中获取数据更快。

3.索引覆盖扫描查询可以直接使用叶节点中的主键值。

聚簇索引缺点:

1.更新代价很高,更新数据后,数据会被移动到新的位置。

2.基于聚簇索引的表在插入新行,或者主键被更新导致移动行时,会面临页分裂问题。当这一行插入某个以满的页中时,会导致存储引擎将该页分裂为两个页来容纳该行。

posted on 2024-07-03 15:21  小小码0-0  阅读(27)  评论(2)    收藏  举报