如何将guid的性能与sql中的字符串进行比较

时间:2010-07-21 11:44:18

标签: sql-server sql-server-2008 guid

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

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

1 个答案:

答案 0 :(得分:2)

理想情况下,对你的问题的简短回答是不使用。

如果你可以使用int / bigint键(正如我在你对related question的回答中所建议的那样),你应该这样做。

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

如果您生成的序列始终排序,则字符串PK应该具有较少的开销 - 即,总是在表的“结尾”添加新值。