データベース用大量レコードの作り方

スポンサーリンク
IT

システム開発ではだいたいどこでも性能試験というものをやります。
最初から計画しているところもあれば、大体ちゃんと動くようになったなーという状態になって、そろそろ性能やらなきゃ、、と言って動き出すところもあります。

システムはデータベースにデータを保持することが多いです。
レコードを大量に作る方法を紹介します。
エクセル等でも作れますが、行が多くなると処理が重いですので、ここはPowerShellを使ってスマートに大量レコードを作りましょう。

ここでは次のようなIDと名前を持つ単純なテーブルを例にしてやってみます。
IDカラムがプライマリキーとします。レコード投入時はプライマリキーがユニークである必要があります。この部分をPowerShellで番号を自動生成してINSERT文を作ります。

CREATE TABLE Table1 (
  ID varchar(3),
  Name varchar(10)
);

PowerShellを起動し、次の処理を実行すると、insert.sql ファイルに10万件のレコードを登録するためのINSERT文が生成できます。
件数が多いと結構時間がかかります。単純作業は人間様の仕事ではありませんので、機械にやらせておいて、コーヒーでも飲んできましょう。

foreach($i in 1..100000) {
  echo ("INSERT INTO Table1 (ID, Name) VALUES ('" + $i.toString("000000") + "', 'NAME');") >> insert.txt
}

いきなり全部生成する前に数件作って、試し打ちしてから全件作る方がよいでしょう。
10万件とか作ってINSERT文がそもそも構文エラーとかだと、機械は怒りませんが、相手が人間だったらぶちギレされて絶交かもしれません

コメント

タイトルとURLをコピーしました