DB に大量データ インポートしてみた PostgreSQL編 〜 まとめ感想
■ 10万件データインポート
業務で色々なDBに大量データインポートをする機会があったので、各DBごとに紹介する。今回はPostgreSQL編。
普通にInsert文繰り返ししてもいいんだけどインポート文で挿入のほうが早い。
今回は下記のようなテーブルに10万件を入れてみようと思う。
今回はcsv形式のデータでインポートする。
copy テーブル名 from 'インポートファイル名' WITH CSV;
2秒ほどで終了しました。速いです。
データベースの文字コードとインポートファイルの文字コードが違うと怒られます。
■ まとめ
いままで色々なDBの大量データインポートを試してきました。どのDBもインポートするユーティリティが提供されているため、速度重視では断然ユーティリティを使うのが良いと思います。
しかし、全てのDBのインポートファイルのフォーマットがデフォルトで共通しているわけではないので、それを調べるなどがけっこう面倒でした。
入力ファイルの種類が少ないなら、JAVAなどのプログラムで、LOOPのInsert文を書いて、各DBごとにドライバだけ入れ替えてあげるといったやり方のほうが、楽ですね。
入力ファイルがcsvならば、どのDBでもほぼデフォルトで対応しているので、インポートユーティリティを使うのが良いでしょう。
とりま、ブログのために自宅にほとんどのDBがインストールされたわけですが。勉強にはORACLEとMySQLだけで十分なのでしばらくしたら消しますかな。
12月の現況はほどんどDB漬けだったため飽きてきた・・・来月は違うことしよう。
せっかくだしORACLE試験うけてみよかな。