我已经阅读了很多文章,提到在SQL Server中使用guid作为聚簇索引(或主键)可能会导致性能问题。
但是,由于一些设计决策,我确实需要一个包含GUID
的字段,用于一个表的每一行。
如果我将该表的主键定义为自动增量整数,并将GUID
添加为索引的普通列,我是否会遇到与GUID
作为主要类似的性能问题键?
编辑:作为旁注,我知道GUID作为主键是一个坏主意,我问我是否会遇到性能问题,如果我将其设置为索引(非群集)字段
答案 0 :(得分:0)
您希望将哪种类型的索引用于GUID字段?集群?独特?如果只是唯一的,那么GUID将不会与任何其他唯一字段不同。你可以毫无疑问地使用它。 在聚集索引的情况下,它将影响性能。您可以使用Sequential GUID。它可以解决一些性能问题。在客户端生成GUID也可以提高性能。