我最近开始了一个新工作,并注意到所有的sql表都使用GUID数据类型作为主键.
在我以前的工作中,我们使用整数(自动增量)作为主键,在我看来更容易处理.
例如,说你有两个相关的表;产品和产品类型 – 我可以轻松地查看特定行的两个表的“ProductTypeID”列,以快速映射数据,因为它容易存储数字(2,4,45等),而不是(E75B92A3- 3299-4407-A913-C5CA196B3CAB).
额外的挫折来自我想要了解表的相关性,可悲的是没有数据库图:(
很多人都说GUID更好,因为您可以在C#代码中定义唯一的标识符,例如使用NewID(),而不需要sql SERVER来执行此操作 – 这也允许您暂时了解ID将是什么….但是我看到有可能仍然可以检索“下一个自动递增的整数”.
DBA承包商报告说,如果我们使用整数类型而不是GUIDS,我们的查询可能会提高30%
为什么GUID数据类型存在,它真正提供了哪些优点?即使是某些专业人士的选择,为什么要实现这一点呢?