2

我在这里观看 Paul S Randal 的索引碎片视频。在视频中,保罗说GUID or other random values as high-order key will cause page splits which in turn will cause index fragmentation。原因是,随机值意味着将新记录插入到随机页面中,这可能会导致随机页面上的页面拆分。我的问题:如果没有将新记录插入随机页面,仍然会发生页面拆分,对吗?如果这是真的,这两种情况有什么区别?

顺便说一句,高阶键是什么意思primary key?我不是以英语为母语的人,对此我不确定。

谢谢。

4

2 回答 2

3

索引数据聚集在使用的键上。之所以提到这里的“高阶”,是因为索引可以是复合的,并且第一个成员对于该顺序是最重要的。

因此,如果此成员是随机的(并且 GUID 必须被视为随机的,即使加密专家不喜欢 GUID 的这个术语),与插入连续值相比,即使值是不在范围的末尾。

(这也是为什么在将 GUID 用于集群主键时,使用NEWSEQUENTIALID()而不是对NEWID()插入性能有很大帮助的原因)。

于 2011-02-11T17:00:43.137 回答
1

如果您的键是连续的,那么数据将全部附加到最后,这意味着将根据需要创建新页面。然而,这将创建一个“热点”,其中数据被推送到大容量系统中。对此的解决方案是在某种分类字段中建立一个聚集索引,然后是递增的主键。

于 2011-02-11T16:59:21.900 回答