sql-server-2008 – SQL GUID Vs Integer
我最近开始了一个新工作,并注意到所有的SQL表都使用GUID数据类型作为主键.
在我以前的工作中,我们使用整数(自动增量)作为主键,在我看来更容易处理. 例如,说你有两个相关的表;产品和产品类型 – 我可以轻松地查看特定行的两个表的“ProductTypeID”列,以快速映射数据,因为它容易存储数字(2,4,45等),而不是(E75B92A3- 3299-4407-A913-C5CA196B3CAB). 额外的挫折来自我想要了解表的相关性,可悲的是没有数据库图:( 很多人都说GUID更好,因为您可以在C#代码中定义唯一的标识符,例如使用NewID(),而不需要SQL SERVER来执行此操作 – 这也允许您暂时了解ID将是什么….但是我看到有可能仍然可以检索“下一个自动递增的整数”. DBA承包商报告说,如果我们使用整数类型而不是GUIDS,我们的查询可能会提高30% 为什么GUID数据类型存在,它真正提供了哪些优点?即使是某些专业人士的选择,为什么要实现这一点呢? 解决方法在某些情况下,GUID作为身份字段很好:>当有多个SQL(不同的服务器)实例时,您需要稍后组合不同的更新而不影响参照完整性 生成GUID是全局唯一的,这就是为什么它们适合于这种场景. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |