uniqueidentifier数据类型
简介
uniqueidentifier数据类型可存储16位元组的二进制值,其作用与全局唯一标记符(GUID)一样。GUID是唯一的二进制数:世界上的任何两台计算机都不会生成重複的GUID值。GUID主要用于在用于多个节点,多台计算机的网路中,分配必须具有唯一性的标识符。 在SQL中 ROWGUIDCOL表示新列是行的全局唯一标识列。对于每个表只能指派一个uniqueidentifier 列作为ROWGUIDCO列。ROWGUIDCOL属性只能指派给uniqueidentifier列
定义
Uniqueidentifier 是全局唯一的标识
赋值
UniqueIdentifier 数据类型的列如何赋值?
1
2
直接将字元串的常量转化成这样的格式 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
举例:6F9619FF-8B86-D011-B42D-00C04FC964FF 为有效的UniqueIdentifier数据
3
直接赋于32位的十六进制整数
举例 0xffffffff00000000ffffffff00000000
保存
UniqueIdentifier 数据类型 数据实际是怎幺在资料库中保存的?
UniqueIdentifier 数据类型存储实际的数据是16个位元组的二进制值,
UniQueIdentifier 可以转化成实际的字元串型和二进制数据类型
NewID()
NewID()函式是如何生成唯一的UniqueIdentifier 值的呢?
这样在多台计算机和多网路之间生成具有唯一性的标识符
优点
使用 Uniqueidentifier数据类型的主要的优点
缺点
使用Uniqueidentifier的数据类型的缺点
1 对于生成的Uniqueidentifier 类型的值来讲 ,是无序
这样,对于uniqueidentifier为主键的信息集 ,还是需要一个默认标识排序的栏位。
主键
以属性为主键的系统设计情况
以属性为主键 ,这样的方式还是最佳的
以Uniqueidentifier 列为主键的情况
以 Identity为主键的情况
相关语句
批量随机生成数据:
DECLARE @MyID uniqueidentifier
DECLARE @INT AS INT
SET @INT = 0
WHILE @INT < 500000 --这里设定需要插入多少行
BEGIN
SET @INT = @INT + 1
SET @MyID = NEWID()
INSERT INTO testss (testa, testb) SELECT substring(CONVERT(nvarchar(50), @MyID),1,36), ''
END
本文由'小傲双吖'发布,不代表演示站立场,转载/删除联系作者,如需删除请-> 关于侵权处理说明。