我想做一个测试,如何向mssql快速插入10亿条数据。
本帖最后由 phpcainiao 于 2013-08-28 09:35:01 编辑 字段有ID(int,自动编号) title(char)
title的内容可以相同。。。或者是title1,title2,title3和id一样自动增长。。
求快速插入的办法。
或者是分段插入。
比如一次性插入一百万,或者一千万条数据,因为要考虑pc机器的性能,求各位大侠支招。。
[解决办法]
--SQL:
;WITH
cte1 AS(SELECT num = 1 UNION ALL SELECT 1),
cte2 AS(SELECT num = 1 FROM cte1 a, cte1 b),
cte3 AS(SELECT num = 1 FROM cte2 a, cte2 b),
cte4 AS(SELECT num = 1 FROM cte3 a, cte3 b),
cte5 AS(SELECT num = 1 FROM cte4 a, cte4 b),
cteNum as(SELECT num = ROW_NUMBER() OVER(ORDER BY GETDATE()) FROM cte5)
INSERT INTO tb(title)
SELECT TOP(10000000) --1千万
'title'+LTRIM(num)
FROM cteNum
create table ph
(ID int identity(1,1), title char(50))
set nocount on
declare @x int
select @x=1
while(@x<=1000000000)
begin
insert into ph(title) values('title'+rtrim(@x))
select @x=@x+1
end
set nocount off