Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# guid是否及时订购?如果ORDER BY与GUID变量类型一起使用,则最近创建的记录是否会延迟?_C#_Sql_Guid - Fatal编程技术网

C# guid是否及时订购?如果ORDER BY与GUID变量类型一起使用,则最近创建的记录是否会延迟?

C# guid是否及时订购?如果ORDER BY与GUID变量类型一起使用,则最近创建的记录是否会延迟?,c#,sql,guid,C#,Sql,Guid,guid是否及时订购?我的意思是,如果使用带有GUID变量类型的ORDER BY,最近创建的记录是否会延迟?请参见 全局唯一标识符(GUID、/wɪd/或/uɫuɪd/)是唯一的 在计算机软件中用作标识符的参考号。术语 GUID通常指的是通用的应用程序的各种实现 唯一标识符(UUID)标准。guid通常存储为 128位值,通常显示为32位十六进制数字 使用以连字符分隔的组,例如 {21EC2020-3AEA-1069-A2DD-08002B30309D}。随机生成的guid 数字包含6个固定位,

guid是否及时订购?我的意思是,如果使用带有GUID变量类型的ORDER BY,最近创建的记录是否会延迟?

请参见

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

在Windows上,GUI(UUID)是使用UuidCreate从加密随机数生成器创建的。就RFC4122而言,它们是版本4 UUID。不涉及时间戳或以太网卡,除非您使用的是使用UuidCreateSequential创建的老式版本1 GUI

另见

来源:

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

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

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

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

我一直以为不是,但我意识到我其实不知道。有趣的问题(+1)。guid本身就是128位的数据,只有少量的结构。生成GUID有不同的方法,因此如果您想问这个问题,您必须说明如何生成GUID。另一方面,如果您在SQL Server中创建一个表,该表具有GUID类型的聚集键,则行的物理顺序与GUID相同,也就是说,没有特定的顺序,这意味着插入的每一行都会导致对性能有害的页面分割。底线是:如果可以避免的话,不要将GUID用作聚集键。@MartinLiversage-是为了解决这个问题而引入的:“使用NEWSEQUENTIALID也有助于完全填充数据页和索引页。”GUID保证具有的唯一属性是它是一个全局唯一的标识符。这就是为什么它被称为guid。如果您依赖的是GUID的属性而不是全局唯一性,那么您就做错了。这根本不能回答问题。@chrismaric怎么会这样?如果guid是按问题的创建顺序排列的,那么结果中的键将按升序而不是随机顺序排列。仅仅因为它看起来是随机的并不意味着它实际上是随机的。从词汇上讲,它们是无序的,但这并不意味着使用不同的比较器,它们实际上是无序的。然而@wudzik提供了一个有意义的答案,即guid是通过加密数字生成生成的,而不是使用任何时间序列组件来创建任何类型的隐式顺序。
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