Sqlserver中如何快速写入千万级测试数据
Posted IT飞牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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分钟,不知道还有没有更快的方法
以上是关于Sqlserver中如何快速写入千万级测试数据的主要内容,如果未能解决你的问题,请参考以下文章
转载:MySQL深度分页的问题及优化方案-千万级数据量如何快速分页