读书人

主从表怎么快速生成大批量测试数据

发布时间: 2012-03-26 15:46:56 作者: rapoo

主从表如何快速生成大批量测试数据———300万条

SQL code
----创建大批量测试数据 主从表 --主表学生表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进行关联呢,从表应该如何插入    请各位朋友多多指教。!





[解决办法]
SQL code
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分钟内可搞定.
SQL code
    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
[解决办法]
探讨

推荐给你的工具,叫 数据工厂。
参考:
http://wenku.baidu.com/view/9f079ed376eeaeaad1f330ff.html

读书人网 >SQL Server

热点推荐