gpt4 book ai didi

SQL 服务器 : does NEWID() always gives a unique ID?

转载 作者:太空狗 更新时间:2023-10-30 01:40:45 27 4
gpt4 key购买 nike

NEWID() 函数是否永远不会给我提供与它已经提供的相同的 ID?假设我选择了一个 NEWID() 并且它返回“1”(仅作为示例)。它永远不会再返回'1'吗?不可能吗?

最佳答案

两者都是NEWID()NEWSEQUENTIALID()给出 uniqueidentifier 类型的全局唯一值.

NEWID() 涉及随机事件,因此下一个值不可预测,并且执行速度较慢。

NEWSEQUENTIALID() 不涉及随机事件,因此 the next generated value can be predicted (不容易!)并且比 NEWID() 执行得更快。

因此,如果您不关心预测的下一个值(出于安全原因),您可以使用 NEWSEQUENTIALID()。如果您关心可预测性或者您不介意微小的性能损失,您可以使用 NEWID()

但是,严格意义上来说,不同机器生成的GUID值相同的可能性还是很小的。实际上,这被认为是不可能的。

如果您想了解更多信息,请阅读:Which method for generating GUIDs is best for ensuring the GUID is really unique?

注意 NEWID() 符合 RFC 4122 .另一个函数使用 Microsoft 的算法来生成值。

关于SQL 服务器 : does NEWID() always gives a unique ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908776/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com