Sqlserver中如何快速写入千万级测试数据

数据库结构:

id int()

username   nvarchar(50)

password   nvarchar(50)

addtime   datetime

token    nvarchar(50)

roleid   int

一、程序中写for循环,实测一分钟写入数据17998条

二、直接在在数据库执行语句,每分钟179094条,速度快10倍

DECLARE @i int
SET @i = 1
WHILE (@i <=10000000)
BEGIN
INSERT INTO A_User(username,password,addtime,token,roleid)
VALUES('manage6'+CONVERT( CHAR(12), cast(ceiling(rand() * @i*10) as int) ),CONVERT( CHAR(12), cast(ceiling(rand() * @i) as int) ),'2016-11-08 05:01:40',CONVERT( CHAR(14), cast(ceiling(rand() * @i*100) as int) ),cast(ceiling(rand() * 6) as int))
SET @i = @i + 1
END
GO

对于写入千万级数据,即使上面第二种方法也需要10000000/179094=55.55分钟,不知道还有没有更快的方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章