16

GUID 是否及时订购?我的意思是,如果您将 ORDER BY 与 GUID 变量类型一起使用,那么最近创建的记录会迟到吗?

4

3 回答 3

12

在 Windows 上,GUID (UUID) 是使用 UuidCreate 从加密随机数生成器创建的。根据 RFC 4122,它们是第 4 版 UUID。不涉及时间戳或以太网卡,除非您使用的是使用 UuidCreateSequential 创建的旧式第 1 版 GUID。

另请参阅System.Guid.NewGuid() 有多随机?(拿两个)

来源:https ://stackoverflow.com/a/3011149/1714342

于 2013-07-26T13:00:39.233 回答
10

一个简单的LINQPad模型回答了您的问题:

var dictionary = new Dictionary<int, Guid>();

for (int i = 0; i < 5; i++)
    dictionary.Add(i, Guid.NewGuid());

dictionary.OrderBy(d => d.Value);

结果是:

Key Value 
2   3624183d-581a-45bc-9d3d-cafeddaf8585 
0   4b4685c9-f163-4694-ae8c-4b83402a293c 
4   7a14d8e4-d870-4f33-bfb3-f4337b756e18 
1   b93131c7-c0d7-42b4-82b5-e3cc456214a9 
3   cfdc0bc8-7f5a-4601-a927-a759bb9e33c6 
于 2013-07-26T13:17:24.997 回答
1

请看这个

全球唯一标识符(GUID,/ˈɡwɪd/或 /ˈɡuːɪd/)是在计算机软件中用作标识符的唯一参考编号。术语 GUID 通常是指通用唯一标识符 (UUID) 标准的各种实现。1GUID 通常存储为 128 位值,并且通常显示为 32 位十六进制数字,组以连字符分隔,例如 {21EC2020-3AEA-1069-A2DD-08002B30309D}。从随机数生成的 GUID 包含 6 个固定位(表示它们是随机的)和 122 个随机位;此类唯一 GUID 的总数为 2122 或 5.3×1036。这个数字如此之大,以至于同一数字随机生成两次的概率可以忽略不计;然而,其他 GUID 版本具有不同的唯一性属性和概率,范围从保证唯一性到可能的非唯一性。

于 2013-07-26T13:00:00.387 回答