关于GUID用法

时间:2011-06-16 03:38:37

标签: sql guid

Wiki表示它曾用于制作类,接口唯一标识符,如何对象(实际实例)??

使用SQL时,我也看到了ID字段的GUID(asp.net MVC模板项目中数据库aspnetdb中的表用户,...等)

所以我想清楚地理解GUID用法,哪种情况应该使用它,它是否真的很独特,

任何解释赞赏

感谢

1 个答案:

答案 0 :(得分:0)

要详细了解GUID是什么,请查看我们的好友Wikipedia: GUID

  

并且它真的很独特

从同一台机器生成的GUID几乎保证是唯一的。你在同一台机器上生成相同的两次机会极小。可以说你在更广阔的世界中生成两个GUID的可能性微乎其微,但是这个机会仍然很小,而且这两个GUID的机会也很小。事实上,你可能有更大的机会让大型强子对撞机产生吞噬地球的黑洞,而不是在网络上遇到两个相同的GUID。

因此,有些人喜欢将它用作数据库表的主键。我个人不喜欢这样做,因为:

  • 自动递增整数为我提供了足够的唯一性,可以将其用作主键
  • GUID是一个庞大的PITA,可以在编写SQL查询时进行处理。
  

Wiki表示它曾用于制作类,接口唯一标识符

如果您需要一个在多个不同区域(例如注册表中的配置单元)中唯一的标识符,那么GUID是一个很好的解决方案。在这种特殊情况下,它们被用于识别类型。具体实例也可以在内部使用GUID标识符,但这实际上仅对数据对象有用。