代码之家  ›  专栏  ›  技术社区  ›  Even Mien

如何用顺序guid替换所有非顺序guid?

  •  1
  • Even Mien  · 技术社区  · 17 年前

    我有一个brown field SQL Server 2005数据库,它使用标准的、未排序的GUID作为主键值的大多数,也使用聚集索引(这对性能不利)。

    3 回复  |  直到 17 年前
        1
  •  5
  •   SQLMenace    17 年前

    请记住,只能将newsequentialid()函数用作默认函数

    因此,创建一个包含两列的新表。将原始表中的键插入到该表中(保留另一列,它将自行填充)

    连接回原始表并使用newsequantialid更新PK,如果您有级联更新,FKs应该自己更新

        2
  •  0
  •   Jeremy Stein    17 年前

    你怎么知道这对性能不利?

    guid的优点是您不必担心多个进程同时创建记录。它可以大大简化代码,具体取决于程序。

        3
  •  0
  •   T McKeown    13 年前

    当Guid是PK时,顺序Guid最有利于性能。这就是他们存在的原因。

    推荐文章