聚集索引和非聚集索引的区别有哪些
1个回答
展开全部
1、含义上的区别
聚集索引是指数据库表行中数据的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引,因为一个表的物理顺序只有一种情况,所以,对应的聚集索引只能有一个。
非聚集索引是一种索引,该索引中索引的逻辑顺序与磁盘上行的物理存储顺序不同。
2、从行定位器的性质上来区别
非聚集索引可以在有聚集索引的表、堆集或索引视图上定义。如果表有聚集索引,或者索引在索引视图上,则行定位器就是行的聚集索引键。
如果表是堆集,即非聚集索引,行定位器就是指向行的指针。该指针用文件标识符 (ID)、页码和页上的行数生成。
3、应用上的区别
聚集索引适合应用于含有大量非重复值的列;使用BETWEEN,>,>=,<或<=返回一个范围值的列;被连续访问的列;返回大型结果集的查询;经常被使用连接或GROUP BY子句的查询访问的列。
非聚集索引适用于经常被分组排序的列;大数目的不同值;频繁更新的列;外键列;主键列;频繁修改索引列。
参考资料来源:百度百科-聚集索引
参考资料来源:百度百科-非聚集索引
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询