代码之家  ›  专栏  ›  技术社区  ›  Carvellis

guid的性能与sql中的字符串相比如何

  •  1
  • Carvellis  · 技术社区  · 16 年前

    对于大型SQLServer2008数据表上的主键,我可以选择使用GUID或大小相同的字符串。

    性能方面,当执行连接、选择等操作时,guid(16字节)与大约16个字符的字符串相比如何?SQL是否更擅长处理guid,因为它们在内部是用数字表示的?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    理想情况下,你的问题的简短答案是两者都不用。

    如果您可以使用int/bigint键(正如我在回答您的 related question ),你应该。

    除非需要非破坏性地合并存储在多个SQL Server实例上的此数据集副本的功能,否则使用GUID主键会在索引维护中增加相当大的开销。 This article 对这个问题进行了合理的讨论。

    如果生成的序列是一致排序的,那么字符串PK的开销应该更小,即新值总是添加在表的“末尾”。

    推荐文章