积极答复者
sql server 2000插入1000条数据需要8s

问题
-
版本:select @@version
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)使用存储过程在表里插1000条数据,时间是8s,请问这种效率是不是正常的?如果不正常可能是什么问题导致的呢?
drop table tbl_test
go
create table tbl_test (
col1 int default (-1),
col2 int default (-1),
col3 varchar(255) default ('--'),
col4 varchar(255) default ('--')
PRIMARY KEY NONCLUSTERED (col1,col2,col3)
)
go
declare @lastdate datetime
declare @cola int
declare @i int
truncate table tbl_test
select @cola=count(*) from tbl_test
if @cola = 0
select @cola = 0
else
select @cola=max(col1) from tbl_test
select @cola=@cola+1
select @lastdate = getdate()
select @i = 0
while(@i < 1000)
begin
insert into tbl_test values( @cola,@i, 'aaaaaaaaaaaaa','bbbbbbbbbbbbbbbb')
select @i = @i+1
end
select datediff(ms,@lastdate,getdate())
答案
-
做过测试,在相同硬件条件下,大批量数据,使用SqlBulkCopy提交性能最好。(超过1w条测试)
如果你的数据比较多这个建议使用SqlBulkCopy。(这个和bcp的性能差不多),
family as water- 已建议为答案 Molly Chen_Moderator 2011年9月5日 5:38
- 已标记为答案 Molly Chen_Moderator 2011年9月5日 7:20
全部回复
-
做过测试,在相同硬件条件下,大批量数据,使用SqlBulkCopy提交性能最好。(超过1w条测试)
如果你的数据比较多这个建议使用SqlBulkCopy。(这个和bcp的性能差不多),
family as water- 已建议为答案 Molly Chen_Moderator 2011年9月5日 5:38
- 已标记为答案 Molly Chen_Moderator 2011年9月5日 7:20