我最近开始一个新的工作,并注意到所有的SQL表都使用主键的GUID数据类型。SQL GUID与整数
在我以前的工作中,我们使用整数(自动递增)作为主键,在我看来这更容易处理。
例如,假设您有两个相关的表格;产品和产品类型 - 我可以很容易地跨两个表中的'ProductTypeID'列检查特定行,以快速映射数据,因为它容易存储数字(2,4,45等),而不是(E75B92A3- 3299-4407-A913-C5CA196B3CAB)。
额外的挫折来自我想了解这些表是如何关联的,遗憾的是没有数据库图:(
很多人说,GUID的更好,因为你可以在C#中定义的独特IDENTIFER代码例如使用NewID()而不需要SQL SERVER来完成它 - 这也允许您临时知道该ID是什么......但我已经看到,仍然可以检索'下一个自动递增的整数'
一位DBA承包商报告说,如果我们使用Integer类型而不是GUIDS,我们的查询速度可能会高出30%...
为什么存在GUID数据类型,它的真正优势是什么?......即使某些专业人士选择了它,但是为什么它的实现还需要一些很好的理由?
可能重复http://stackoverflow.com/questions/829284/guid-vs -int-identity) – 2012-04-18 03:03:04