SQL服务器如何生成Guids?
How does SQL Server generate Guids?
我原以为 Guid 应该具有完全随机的值,但我在 table 中发现 SQL 服务器生成的以下 ID:
15B308E5-FC37-E711-9C42-185E0F1C3427
52B09CEE-FC37-E711-9C42-185E0F1C3427
BE9553FF-FC37-E711-9C42-185E0F1C3427
BF9553FF-FC37-E711-9C42-185E0F1C3427
CE169E05-FD37-E711-9C42-185E0F1C3427
它们对我来说似乎不够随机:)
所以我想知道,SQL 服务器如何生成这些值?
提前致谢!
您的示例中的 GUID 似乎是使用 NEWSEQUENTIALID()
default constraint. In that case, SQL Server uses the UuidCreateSequential Win32 API 生成的,以及一些字节交换以生成自上次计算机重新启动后顺序排列的 GUID 值。
我原以为 Guid 应该具有完全随机的值,但我在 table 中发现 SQL 服务器生成的以下 ID:
15B308E5-FC37-E711-9C42-185E0F1C3427
52B09CEE-FC37-E711-9C42-185E0F1C3427
BE9553FF-FC37-E711-9C42-185E0F1C3427
BF9553FF-FC37-E711-9C42-185E0F1C3427
CE169E05-FD37-E711-9C42-185E0F1C3427
它们对我来说似乎不够随机:)
所以我想知道,SQL 服务器如何生成这些值?
提前致谢!
您的示例中的 GUID 似乎是使用 NEWSEQUENTIALID()
default constraint. In that case, SQL Server uses the UuidCreateSequential Win32 API 生成的,以及一些字节交换以生成自上次计算机重新启动后顺序排列的 GUID 值。