Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 SQL Server 中,使用此代码创建具有相同值的两个 GUID 的概率是多少?
DECLARE @EmployeeID UNIQUEIDENTIFIER; SET @EmployeeID = NEWID();
基本上,GUID 是一个 128 位的数字,有 6 个信息位和 122 个随机位。所以概率是 1/(2 122 ),其中 2 122 = 5.31 * 10 36。
这是我另一个答案的引文:
根据本文档 ( RFC 4122 ) 并与 C# 生成的 GUID 相比,它们是随机类型的。 此类型具有以下模式:xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx, 其中 x是随机数并且 V是位布局为 10yy 的数字,其中 yy 是两个随机位。 所以,这里我们有 128 个随机位中的 122 个。
根据本文档 ( RFC 4122 ) 并与 C# 生成的 GUID 相比,它们是随机类型的。
此类型具有以下模式:xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx, 其中
xxxxxxxx-xxxx-4xxx-Vxxx-xxxxxxxxxxxx
x
V
所以,这里我们有 128 个随机位中的 122 个。