首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

小弟我想做一个测试,怎么向mssql快速插入10亿条数据

2013-09-09 
我想做一个测试,如何向mssql快速插入10亿条数据。本帖最后由 phpcainiao 于 2013-08-28 09:35:01 编辑字段

我想做一个测试,如何向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

热点排行