集群索引说明

问题描述 投票:0回答:1

我知道,聚集索引模仿表中的物理记录,非聚集索引通过内存中的地址访问数据。描述非聚簇索引时,会使用很多术语“指针”,但是说聚簇索引指向实际数据会很准确。还是仅在引用非聚集索引时才保留“指向”?我认为在描述聚簇索引时仅“指向实际数据”是可以接受的,因为我不是在指内存地址或指针本身。我在工作中经常处理索引,并且经常向初级同事提供解释。我以前使用过上述术语,但是如果措辞正确,我从来不会肯定。

sql-server clustered-index
1个回答
0
投票

掌握索引概念的最简单方法是将它们与现实生活中使用的索引进行比较。

聚集索引的功能类似于老式的电话簿,按城市,姓氏,名字排序。这意味着,如果您需要在塔尔萨(Tulsa)查找Skiguy98的唱片,并在菲尼克斯(Phoenix)打开书,那么您就必须前进。如果您打开的下一页是情人节的,则需要向后移动。一旦您点击了塔尔萨(Tulsa),并找到了SchmitzIT记录的页面,您就需要向下移动一些才能达到Skiguy98的记录。

换句话说,由于发生了物理排序机制,因此您可以非常快速地找到所需的内容。但是,这意味着需要保持索引最新,并且偶尔需要进行碎片整理才能保持最佳状态。

相比之下,非聚集索引就像书末的索引,它包含指向书中包含您要查找的术语的页面的指针。因此,如果您正在寻找“聚集索引”,则该索引将告诉您可以在第5、25、48和50页上找到该术语。然后,您需要浏览到这些页面,并在这些页面上找到实际的术语。

如果您的表根本没有索引,则称为堆。最简单的想法是,您得到的只是一本纸质的书。所有页面均以随机顺序随机排列。每当进行演示时,我都会喜欢把一堆文件扔在地板上,然后告诉参与者查找包含“聚集索引”一词的所有页面,然后去喝咖啡。

© www.soinside.com 2019 - 2024. All rights reserved.