【问题标题】:About GUID usage关于 GUID 的使用
【发布时间】:2011-06-16 03:38:36
【问题描述】:

Wiki说它用来做类,接口唯一标识符,那么对象(实际实例)呢??

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

所以我想清楚的了解GUID的用法,在什么情况下应该使用它,它真的是独一无二的吗,

任何解释表示赞赏

谢谢

【问题讨论】:

    标签: sql guid


    【解决方案1】:

    要全面了解 GUID 是什么,请查看我们的好朋友 Wikipedia: GUID

    它真的很独特吗

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

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

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

    Wiki 说它用来制作类、接口的唯一标识符

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

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 2010-09-15
      • 2021-10-24
      • 2011-10-05
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多