• PE-BANKと契約して26歳で年収800万になった大阪のフリーランスですが全てを語ります





開発しているとテストデータを大量に作りたいときがあるかと思います。


・性能調査するのに数十万件のデータが欲しい
・メモリが溢れたりしないか確認しておきたい



とかとかですね。


そんな時PostgreSQLでは1発で大量テストデータが作成できる便利な関数があるのでご紹介します。


その名も、、、



generate_series

generate_series関数とは

generate_seriesはPostgreSQLで使用できる集合を返す関数です。

連続値、または一定の間隔で増加していく値を返却してくれます。


考える人考える人

説明は良いけぇコード見せぇ

じゃけぇじゃけぇ

はいはい

generate_seriesの使用例

それでは実際にどうやってテストデータを作るのか見てみましょう。

以下のような構造を持ったテーブルがあるとしましょう。


●顧客テーブル(test.”Customer”)

論理名 ID 顧客名 メールアドレス
物理名 Id CustomerName MailAddress
データ型 integer varchar(256) varchar(256)

このテーブルに1万件のデータを設定する場合、以下のようなSQLを書きます。




じゃけぇじゃけぇ

たったこれだけだよ~

考える人考える人

できたデータはどんな感じじゃ??

INSERTされたテーブルには

ID 顧客名 メールアドレス
1 顧客名1 1@email.co.jp
2 顧客名2 2@email.co.jp



10000 顧客名10000 10000@email.co.jp

こんな感じのデータが出来上がります。

因みにgenerate_seriesの第3引数に数値を指定すれば、その数値間隔でデータが生成されます。

テストデータ生成ではあまり使うことないかもですが…

さいごに

わざわざテストデータ生成用の関数を自作しなくて良いので便利ですね。

他のDBでも同じような関数があるのか気が向いたら調べてみようと思います。

それでは!また!!

最後まで読んで頂きありがとうございます!
人気の記事だけ集めたので是非覗いていってください^^
 厳選!目的別にオススメ記事を紹介-あなたの欲しい情報がここに-