'cluster'一词对聚簇索引的定义有什么影响?
我对集群索引和非集群索引之间的差异有所了解,但仍然没有得到“集群”发挥作用的地方。 对我来说,“群集”是“分组”,但群集和非群集都在内部使用某种分组。
注意:问题是关于命名而不是群集和非群集之间的区别。
答案 0 :(得分:2)
作为一个艺术术语,它是区分索引类型的一种方式。但是,它意味着它将实际数据聚集在一起(而不仅仅是索引键)。因此,当您有两组群集密钥时,"接近"相互之间,他们的数据行位于"附近"磁盘上的对方。非聚集索引也是如此。
让我们使用一个简单的例子:
我们假设我有一个虚构字符表,其中有两列:CharacterID
和Name
。如果表中有100万行,前两个是(1, 'Antman')
和(2, 'Zorro')
,并且群集密钥是CharacterId
,则这两行将彼此靠近。
但是,如果我还有(1000000, 'Algernon')
行并且Name
上有非聚集索引,那么尽管Antman
和Algernon
相互靠近在非聚集索引中,物理行可能位于相隔很远的位置,因为1和1000000相距很远。
答案 1 :(得分:1)