SQL Serverで大量のダミーデータを生成する方法

こんばんは。今回はSQL Serverで大量のダミーデータを生成する方法を備忘メモとして残しておきたいと思います。

それではまいります。

大量のダミーデータを登録する方法

取り急ぎ結論だけ。

テーブルの作成

CREATE TABLE dbo.TestTable
(   
    [id]         int      NOT NULL,
    [data]       varchar(max)          NOT NULL
);

大量データ(今回は1000万行)のINSERT

DECLARE @p_NumOfRows BIGINT
SELECT @p_NumOfRows=10000000; 

WITH Base AS ( 
  SELECT 1 AS n 
  UNION ALL 
  SELECT n+1 FROM Base WHERE n < CEILING(SQRT(@p_NumOfRows)) 
), 
Expand AS ( 
  SELECT 1 AS c FROM Base AS b1, Base AS b2 
), 
Nums AS ( 
  SELECT ROW_NUMBER() OVER(ORDER BY c) AS n FROM Expand 
)

INSERT INTO TestTable 
SELECT n, 'DATA' + RIGHT('00000000' + CONVERT(NVARCHAR, n), 8) 
FROM Nums WHERE n <= @p_NumOfRows

OPTION (MaxRecursion 0);

この1000万件のデータ登録は1~2分ほどで完了しました。

参考文献

以下の記事を参考にさせていただきました。上記SQLの解説もあるので、ご参照ください。

[SQLServer] SQLServerに大量のダミーデータを作成する – Qiita

以上、短いですが今回はこれにておしまい

この記事を気に入っていただけたらシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT US
Yuu113
初めまして。ゆうたろうと申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。 日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。