もししらなければ確実に、そして恐ろしく効果を発揮できると思います。
INSERTを連続実行する際にボトルネックとなるのはコミットです。
オートコミットをオフにするという手もあるのですが、
INSERTをまとめることで、コミットの回数を減らすだけでも確実に効果があるはずです。
具体的には
insert into TABLE_NAME(col1,col2,col3) vaues ('aaa1','bbb1','ccc1'); insert into TABLE_NAME(col1,col2,col3) vaues ('aaa2','bbb2','ccc2'); insert into TABLE_NAME(col1,col2,col3) vaues ('aaa3','bbb3','ccc3');
とある場合は
insert into TABLE_NAME(col1,col2,col3) vaues ('aaa1','bbb1','ccc1'),('aaa2','bbb2','ccc2'),('aaa3','bbb3','ccc3');
とすればよいのです。
私の場合、4万件が約3分かかっていたのが、
20件毎にまとめるだけで約8秒になりました。
20倍以上の効果がありました!
もちろん環境や設定によりまとめる数は調整が必用と思われます。
INSETが遅すぎてお困りのかた。
是非お試しください!!