Guid 还是 BigInt 苦恼
最近在网上看关于GUID还是BigInt坐住建的文章,很是苦恼,到底GUID和BIGINT谁的效率高呢,别告诉我各有优点。。。 SQL?主键
[解决办法]
建议用bigint,效率应该更高..
[解决办法]
USE CSDN
GO
CREATE TABLE dbo.test3
(
aa BIGINT,--8字节
bb UNIQUEIDENTIFIER,--16字节,生成的GUID无序,全球唯一
cc UNIQUEIDENTIFIER DEFAULT NEWSEQUENTIALID()--16字节,生成的GUID在本机自增,全球唯一(UUID)
)
/*
#1.从存储上说,bigint省空间,优选
#2.从计算上说,bigint运算能力比guid强
#3.guid的全球唯一性,是其它任何存储方式都代替不了的.迁移很方便,但同时会导致索引严重碎片.可以用newid()函数生成
#4.建议使用newsequentialid函数(只能定义在默认值中),生成时有序。微软内部会用它。
综上所述。建议: bigint->UUID->GUID
*/