主从表如何快速生成大批量测试数据———300万条
----创建大批量测试数据 主从表 --主表学生表IF(OBJECT_ID('Student') IS NOT NULL) DROP TABLE StudentCREATE TABLE Student(StudentID UNIQUEIDENTIFIER PRIMARY KEY,name VARCHAR(100),age INT,address VARCHAR(100)) --从表 分数表IF(OBJECT_ID('Grade') IS NOT NULL) DROP TABLE GradeCREATE TABLE Grade(ID UNIQUEIDENTIFIER PRIMARY KEY,StudentID UNIQUEIDENTIFIER,SUBJECT VARCHAR(10),score INT) --测试数据DECLARE @guidid UNIQUEIDENTIFIERSET @guidid=NEWID()INSERT Student VALUES (@guidid,'张三',24,'湖北襄樊')INSERT Grade VALUES (newid(),@guidid,'数学',123)SELECT * FROM Student s LEFT JOIN Grade g ON s.StudentID=g.StudentID方法一 循环: DECLARE @i INT,@guid UNIQUEIDENTIFIER SELECT @i=1000000 WHILE(@i>0) BEGIN --插入操作 SET @i=@i-1 END这个速度太慢。方法二 insert select: INSERT student SELECT * FROM student 但是 从表如何和主表的 guidid进行关联呢,从表应该如何插入 请各位朋友多多指教。!
DECLARE @i INT,@guid UNIQUEIDENTIFIER SELECT @i=1000000 WHILE(@i>0) BEGIN insert tb select * from tb union all select * from tb SET @i=@i-1 END--表按 1^2*@i 增长
[解决办法]
100万笔,大概20分钟内可搞定.
set nocount on DECLARE @i INT,@guid UNIQUEIDENTIFIER SELECT @i=1000000 WHILE(@i>0) BEGIN --插入操作 SET @i=@i-1 END set nocount off
[解决办法]
推荐给你的工具,叫 数据工厂。
参考:
http://wenku.baidu.com/view/9f079ed376eeaeaad1f330ff.html
[解决办法]