我有一个包含几百万行的生产数据库,全部使用随机生成的GUID,默认值为NewID()
作为主键。
我正在考虑使用Sequential NewIDs。
在按顺序生成GUID时,SQL Server如何知道它在使用NEWID()
随机生成时尚未创建该GUID?
答案 0 :(得分:2)
听起来您正在考虑使用NEWSEQUENTIALID()
作为新的默认值。
不要担心重复的情况。该列的PK约束可确保不会发生冲突。无论如何,您无法保证新的顺序GUID“更高”:
帮助您的一些相关信息创建一个GUID,该GUID大于Windows自启动以来在指定计算机上以前由此函数生成的任何GUID。重新启动Windows后, GUID可以从较低范围重新开始,但仍然是全局唯一的。