聚集索引和非聚集索引的区别有哪些

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8957万
展开全部

1、含义上的区别

聚集索引是指数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引,因为一个表的物理顺序只有一种情况,所以,对应的聚集索引只能有一个。

非聚集索引是一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。

2、从行定位器的性质上来区别

 非聚集索引可以在有聚集索引的表、堆集或索引视图上定义。如果表有聚集索引,或者索引在索引视图上,则行定位器就是行的聚集索引键。

如果表是堆集,即非聚集索引,行定位器就是指向行的指针。该指针用文件标识符 (ID)、页码和页上的行数生成。

3、应用上的区别

聚集索引适合应用于含有大量非重复值的列;使用BETWEEN,>,>=,<或<=返回一个范围值的列;被连续访问的列;返回大型结果集的查询;经常被使用连接或GROUP BY子句的查询访问的列。

非聚集索引适用于经常被分组排序的列;大数目的不同值;频繁更新的列;外键列;主键列;频繁修改索引列。

参考资料来源:百度百科-聚集索引

参考资料来源:百度百科-非聚集索引

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式