Sqlserver中如何快速寫入千萬級測試資料
阿新 • • 發佈:2019-01-27
資料庫結構:
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分鐘,不知道還有沒有更快的方法