聚集索引和非聚集索引的区别

 我来答
小W爱科技
高能答主

2022-12-12 · 致力于成为全知道最会答题的人
知道小有建树答主
回答量:1127
采纳率:100%
帮助的人:19.1万
展开全部

聚簇索引是将索引和整条记录存放在一起,找到索引就找到了记录。非聚簇索引只存储索引字段和记录所在的位置,通过索引找到记录所在的位置,然后再根据记录所在位置去获取记录。

一般来讲一堆数据记录最多只能有一个聚簇索引,但可以有很多非聚簇索引。

两者的优缺点对比

聚簇索引的查找记录要比非聚簇索引块,因为聚簇索引查找到索引就查找到了数据位置,而非聚簇索引查找到索引之后,根据记录的数据地址,再去查找数据。

一个数据表只能有一个聚簇索引,但可以有多个非聚簇索引。

聚簇索引和非聚簇索引都可以加快查询速度,但同时也都对写入速度会有影响;聚簇索引对写入的速度影响更大一些。

两者使用场景

InnoDB的主键使用的都是聚簇索引,而MyASM无论是主键索引还是二级索引,使用的都是非聚簇索引。

聚集索引插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入),查询数据比非聚集数据的速度快。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式