美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

COMB数据类型选取sqlserver主键

自动增长字段、手动增长字段、UniqueIdentifier这三种sql server主键类型选取策略都有各自的不足,那么应该如何解决呢?使用COMB数据类型是一个很好的方法。

COMB 数据类型的基本设计思路是这样的:既然UniqueIdentifier数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么我们能不能通过组合的方式,保留UniqueIdentifier的前10个字节,用后6个字节表示GUID生成的时间(DateTime),这样我们将时间信息与 UniqueIdentifier组合起来,在保留UniqueIdentifier的***性的同时增加了有序性,以此来提高索引效率。

也许有人会担心 UniqueIdentifier减少到10字节会造成数据出现重复,其实不用担心,后6字节的时间精度可以达到1/300秒,两个COMB类型数据完全相同的可能性是在这1/300秒内生成的两个GUID前10个字节完全相同,这几乎是不可能的!在SQL Server中用SQL命令将这一思路实现出来便是:

DECLARE @aGuid UNIQUEIDENTIFIERSET @aGuid =
CAST(CAST(NEWID() AS BINARY(10))
+ CAST(GETDATE() AS BINARY(6)) AS
UNIQUEIDENTIFIER)

经过测试,使用COMB做sql server主键比使用INT做sql server主键,在检索、插入、更新、删除等操作上仍然显慢,但比Unidentifier类型要快上一些。


网站栏目:COMB数据类型选取sqlserver主键
链接分享:http://zsjierui.cn/article/dpogsoc.html

其他资讯