sqlserver 大数据量的insert、delete操作优化
http://blog.csdn.net/lanyuzhen/article/details/7547476
--大批量导出orders表:insert
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
go
SET NOCOUNT ON
BEGIN TRANSACTION
INSERT INTO test.dbo.orders with(tablock) SELECT * FROM
bak.dbo.Orders
WHERE ordertime BETWEEN '2010-05-01' AND '2010-05-10'
COMMIT
go
--大批量导出orders表:delete
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
go
SET NOCOUNT ON
BEGIN TRANSACTION
while 1=1
begin
delete top(1000) from test.dbo.orders with(tablock)
WHERE ordertime BETWEEN '2010-05-01' AND '2010-05-10'
if @@rowcount<1000
break
end
COMMIT
go