您现在的位置是:首页» 网游» sqlserver uniqueidentifier,uniqueidentifier是什么类型

sqlserver uniqueidentifier,uniqueidentifier是什么类型

2023-12-20 19:48:28
今天小编为大家分享热门的游戏排行榜、游戏攻略!希望能够帮助到大家!  uniqueidentifier是一个用于存储16字节二进制值的数据类型,它的作用和全局唯一标识符(GUID)非常相似。GUID是一个独一无二的二进制数:世界上任何两台计

今天小编为大家分享热门的游戏排行榜、游戏攻略!希望能够帮助到大家!

  uniqueidentifier是一个用于存储16字节二进制值的数据类型,它的作用和全局唯一标识符(GUID)非常相似。GUID是一个独一无二的二进制数:世界上任何两台计算机都不会生成相同的GUID值。GUID主要用于在分布式网络中的多个节点和多台计算机上分配具有唯一性的标识符。在SQL中,ROWGUIDCOL表示一个新列是行的全局唯一标识列。每个表只能指派一个uniqueidentifier列作为ROWGUIDCOL。ROWGUIDCOL属性只能用于uniqueidentifier列。

  SQLServer为我们提供了UniqueIdentifier数据类型,并提供了一个生成函数NEWID(),使用NEWID()可以生成一个唯一的UniqueIdentifier。UniqueIdentifier在数据库中占用16个字节,重复的可能性非常小,可以认为是零。我们经常在注册表中看到类似{45F0EB02-0727-4F2E-AAB5-E8AEDEE0CEC5}的东西,实际上它就是一个UniqueIdentifier。Windows中使用它来标识COM组件和接口,以防止重复。在.NET中,我们称UniqueIdentifier为GUID(全局唯一标识符)。在C#中,可以使用命令Guidu=System.Guid.NewGuid()生成一个GUID。

  对于上面提到的Order与OrderDetail的程序,在选择UniqueIdentifier作为主键时,我们完全可以避免增加网络RoundTrip的问题。通过程序直接生成GUID来填充主键,无需担心重复问题。

  然而,UniqueIdentifier字段也存在一些严重的缺陷:首先,它占用16字节的存储空间,是整数的4倍长,会占用大量存储空间。更重要的是,UniqueIdentifier的生成完全没有规律可言,因此在其上建立索引(大多数数据库都在主键上有索引)是一个非常耗时的操作。有人做过实验,插入相同数据量时,使用UniqueIdentifier型数据作为主键比使用Integer型数据要慢。因此,出于效率考虑,尽可能避免将UniqueIdentifier用作主键键值。

m.yiLeen.Com.cn艺练网专注于游戏代练的交易平台,提供专业的手游、网游、英雄联盟代练、LOL代练、地下城与勇士、和平精英代练、QQ飞车代练等服务。

专业专注用心服务,如有海外金融牌照的任何疑问请联系我们。

联系邮箱:773537036@qq.com

标签: 类型 sql