DB に大量データ インポートしてみた PostgreSQL編 〜 まとめ感想

10万件データインポート
業務で色々なDBに大量データインポートをする機会があったので、各DBごとに紹介する。今回はPostgreSQL編。

普通にInsert文繰り返ししてもいいんだけどインポート文で挿入のほうが早い。
今回は下記のようなテーブルに10万件を入れてみようと思う。

今回はcsv形式のデータでインポートする。

copy テーブル名 from 'インポートファイル名' WITH CSV;

2秒ほどで終了しました。速いです。

データベースの文字コードとインポートファイルの文字コードが違うと怒られます。

まとめ
いままで色々なDBの大量データインポートを試してきました。どのDBもインポートするユーティリティが提供されているため、速度重視では断然ユーティリティを使うのが良いと思います。
しかし、全てのDBのインポートファイルのフォーマットがデフォルトで共通しているわけではないので、それを調べるなどがけっこう面倒でした。
入力ファイルの種類が少ないなら、JAVAなどのプログラムで、LOOPのInsert文を書いて、各DBごとにドライバだけ入れ替えてあげるといったやり方のほうが、楽ですね。
入力ファイルがcsvならば、どのDBでもほぼデフォルトで対応しているので、インポートユーティリティを使うのが良いでしょう。

とりま、ブログのために自宅にほとんどのDBがインストールされたわけですが。勉強にはORACLEMySQLだけで十分なのでしばらくしたら消しますかな。

12月の現況はほどんどDB漬けだったため飽きてきた・・・来月は違うことしよう。
せっかくだしORACLE試験うけてみよかな。