使用uniqueidentifier还是IDENTITY生成主键?
2008-10-28 10:09:24 来源:WEB开发网自动生成主键值的另一种方法是把你的字段指定为唯一标识符的类型和使用NEWID() 或者NEWSEQUENTIALID()函数的DEFAULT约束。不像IDENTITY,DEFAULT约束必须用来把一个全球唯一标识符分配给这个字段。
NEWID()和NEWSEQUENTIALID()有什么区别呢? NEWID()随机生成一个基于服务器网卡的标识符号码和CPU块唯一号码的保证的唯一值。与此相反,NEWSEQUENTIALID()按照顺序生成这些值而不是随机生成。
让我们使用带有NEWID()和NEWSEQUENTIALID()唯一标识符来创建新表:
USEMSSQLTIPS
GO
CREATETABLENEWID_TEST
(
IDUNIQUEIDENTIFIERDEFAULTNEWID()PRIMARYKEY,
TESTCOLUMNCHAR(2000)DEFAULTREPLICATE('X',2000)
)
GO
CREATETABLENEWSEQUENTIALID_TEST
(
IDUNIQUEIDENTIFIERDEFAULTNEWSEQUENTIALID()PRIMARYKEY,
TESTCOLUMNCHAR(2000)DEFAULTREPLICATE('X',2000)
)
GO
--INSERT1000ROWSINTOEACHTESTTABLE
DECLARE@COUNTERINT
SET@COUNTER=1
WHILE(@COUNTER<=1000)
BEGIN
INSERTINTONEWID_TESTDEFAULTVALUES
INSERTINTONEWSEQUENTIALID_TESTDEFAULTVALUES
SET@COUNTER=@COUNTER+1
END
GO
SELECTTOP3IDFROMNEWID_TEST
SELECTTOP3IDFROMNEWSEQUENTIALID_TEST
GO
Tags:使用 uniqueidentifier 还是
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接