使用UuidCreateSequential
或其包装NewSequentialID
时发生碰撞的几率是多少?我发现顺序guid最具体的是#34;比随机guid"更可能。
将它与随机指南比较,版本4 - 其中有大量有趣的统计数据:
但亲爱的旧顺序指南呢?他有趣的统计数据在哪里?如果相关,假设现代版本的SQL - 比如2012/2014和Windows 2008或2012。
答案 0 :(得分:1)
除非您正在做一些愚蠢的事情,比如没有在您的服务器中使用网卡(或明确设置MAC地址并复制macaddrs),否则您将无法获得重复数据。如果您没有网卡,那么guid对于该计算机将是唯一的。
请仔细阅读ms documention page,
"使用NEWSEQUENTIALID()生成的每个GUID在该计算机上都是唯一的。仅当源计算机具有网卡时,使用NEWSEQUENTIALID()生成的GUID在多台计算机上才是唯一的。"
你必须稍微阅读这些内容,但如果你不做愚蠢的事情,它们确实是独一无二的。
添加评论
有一个明显的警告,MS文档可能有误。但证明,如果你必须通过生成副本来取消,可能需要很长时间。完全有可能ms不使用生成现代guid并且可能暴露底层的mac地址。我似乎错放了源代码的代码,无法检查。 : - )