Sql2005下以GUID、INT、VARCHAR类型作主键及无主键时插入表的效率测试

在数据库设计中,INT和GUID作为主键的选择常引发争议。本文通过在Sql2005环境下进行的插入效率测试,探讨两种类型的主键在性能上的差异。测试在Xeon 1.6GHz/2GB内存的win2003服务器上进行,以实证方式展示结果。
摘要由CSDN通过智能技术生成

在数据库表设计时,许多人为采用INT类型还是GUID(uniqueidentifyer)作为主键争论不休,有认为int型字段好的,有认为GUID好的,很多时候的焦点集中在效率上。

为了弄清事实真相,我想还是要以实验来进行测试为准。以下就是为了测试插入效率而写的一段脚本。测试环境是:Xeon 1.6/2G内存 win2003/sqlserver2005 企业版。

测试脚本:

--测试无主键/Identity/Uniqueidentifier/varchar类型主键插入表时的效率
set nocount on
declare @now datetime,@i int
set @i=1
set @now=getdate()
Create table  test1(nopkey int,col uniqueidentifier )
while @i<10000000
Begin
	insert into test1 values (1,newid())
	set @i=@i+1
end
Print'新表无主键插入100万条数据所耗时间:'+convert(varchar(200),datediff(ms,@now,Getdate()))+'毫秒'

set @i=1
set @now=getdate()
while @i<10000 
Begin
	insert into test1 values (1,ne
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值