DB に大量データ インポートしてみた DB2編

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

普通にInsert文繰り返ししてもいいんだけどおそらくコマンド行プロセッサからインポート文で挿入のほうが早い。
今回は下記のようなテーブルに10万件を入れてみようと思う。

大量データを使うにはコマンド行プロセッサからインポート文を使う。今回はカンマ区切りのデータを送る。

IMPORT FROM インポートファイル名 OF DEL  インポート方法指定 

DELを指定すると、csv形式になる。
インポート方法指定
データのインポート方法を以下の形式のいずれかで指定します。

                                                                                                                            • -

INSERT INTO 表名
各行を指定した表に挿入します。表中に予め存在していたデータは更新されません。
INSERT_UPDATE INTO 表名
各行を指定した表に挿入します。挿入しようとした行と同じプライマリキーを持つ行が既に存在していた場合は、挿入しようとしている行で上書きします。
REPLACE INTO 表名
指定した表の内容をすべて削除した後に各行を挿入します。
REPLACE_CREATE INTO 表名
指定した表の内容をすべて削除した後に各行を挿入します。指定した表がない場合は、表および索引を作成してから挿入を実行します。
CREATE INTO 表名 [IN 表スペース名 [INDEX IN 索引用表スペース名 ] [LONG IN LONG表スペース名 ] ]
表および索引を作成した上で、各行を指定した表に挿入します。

                                                                                                                            • -


あとはカンマ区切りの10万レコードのファイルを用意し、上記コマンドを打つ。
5秒ほどで完了しました。SQLServerより若干はやかったかも。