【问题标题】:Should a Sequential Guid primary key column be a clustered index?Sequential Guid 主键列应该是聚集索引吗?
【发布时间】:2010-12-17 22:50:40
【问题描述】:

使用顺序 guid 的目的是让您可以使用聚集索引,而不会出现聚集索引中通常存在的高级别碎片,如果它是常规 guid,对吗?

【问题讨论】:

    标签: sql-server sql-server-2008 guid clustered-index newsequentialid


    【解决方案1】:

    首先要澄清的是,主键和聚集索引是两个独立且不同的事物,即一个不耦合到另一个(PK 可以是非聚集的,聚集索引可以是非 PK)。

    鉴于此,我认为您要问更多“是否应将顺序 GUID 用作聚集索引”。这是一个沉重的问题,但Kimberly Tripp has discussed this 可能是我见过的最好的人。请注意,这篇文章提到了 PK,但在文章中,她提到了这种考虑如何主要适用于聚集索引选择与 PK。

    假设您已经决定使用 GUID 作为集群键(可能是也可能不是),使用顺序 GUID 很可能是比非顺序 GUID 更好的选择,但是有至少有 1 种情况可能首选非顺序 GUID(尽管这是一种非常罕见、非常高级的情况,您必须基本了解您的系统和 SQL 服务器,以至于您毫无疑问应该使用它 - 会有与存储设备上的热点以及在集群的不同位置传播大量写入有关)。

    【讨论】:

    • 感谢您提供的信息,希望以后对某人有所帮助。
    【解决方案2】:

    是的,你是对的。

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 2015-03-12
      • 2010-09-21
      • 1970-01-01
      • 2020-11-06
      • 2014-07-30
      • 2018-08-04
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多