校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据库 > 索引相关
题目

什么是聚簇索引?

解答

聚簇索引不是一种索引类型,而是一种数据存储方式。InnoDB 的聚簇索引实际上在同一个结构中保存了 B-Tree 索引和数据行。
当表有聚餐索引时,它的行数据实际上存放在索引的叶子页中,因为无法同时把数据行存放在两个不同的地方,所以一个表只能有一个聚簇索引。

优点:

① 可以把相关数据保存在一起。
② 数据访问更快,聚簇索引将索引和数据保存在同一个 B-Tree 中,因此获取数据比非聚簇索引要更快。
③ 使用覆盖索引扫描的查询可以直接使用页节点中的主键值。

缺点:

① 聚簇索引最大限度提高了 IO 密集型应用的性能,如果数据全部在内存中将会失去优势。
② 更新聚簇索引列的代价很高,因为会强制每个被更新的行移动到新位置。
③ 基于聚簇索引的表插入新行或主键被更新导致行移动时,可能导致页分裂,表会占用更多磁盘空间。
④ 当行稀疏或由于页分裂导致数据存储不连续时,全表扫描可能很慢。

C 1条回复 评论
行者z

懂了懂了

发表于 2021-09-09 19:25:00
0 0