A5:SQL Mk-2 Version 2.14.0 beta 11でCSVインポートの高速化をしてみました。
「バッチインサート」という機能を使ったのですが、これまでも、バッチインサートというのを使えばCSVインポートが速くなるんだろうな…。とは思っていたのですが、やってみたら思っていたより効果があり、驚きました。
試してみるとこんな感じでした。
バッチインサート適用前
バッチインサート適用後
ローカルホストで稼働するOracle XEにインサートしてみました。バッチインサート適用前が約「1391レコード/秒」、バッチインサート適用後が約「15625 レコード/秒」ということで、10倍以上!高速になりました。
ネットワークがボトルネックになるケースがより効果が高いようです。Wi-Fiなどでは50倍以上!!高速化するケースもありました。
ただし、現状バッチインサート機能を使えるのは以下の条件のみです。
・専用接続を使用していること(UniDACでの接続)
・バイナリのデータ型がないこと
・SQL Server, MySQL(MariaDB)は除く。
これらの制限はできるだけ撤廃していきたいと思っています。