アプリ版:「スタンプのみでお礼する」機能のリリースについて

oracle10g java jdbc 大量insertの高速化

以下のプログラムで1万件処理したところ30秒ぐらいかかりました。
まだ高速化の余地があると思うのですが、何かいい方法はありませんでしょうか?

String sql = "INSERT INTO TEST3 VALUES(?,?)";
PreparedStatement ps = con.prepareStatement(sql);
while(rs5.next()){
int id = rs5.getInt(1);
String line = rs5.getString(2);
ps.setInt(1,id);
ps.setString(2,line);
ps.addBatch();
}
ps.executeBatch();

A 回答 (2件)

・ストアドで叩き込む


・ps.executeBatch()の回数を増やす。
・int id = rs5.getInt(1);String line = rs5.getString(2);を省略する(誤差程度)
・インデックスをいろいろ変えてみる

ぱっと考え付くのはこのくらいかしら。
    • good
    • 0

jdbcだからネットワーク経由ですよね。


遅くても仕方ないと思いますけど。ちなみにthinドライバですか?

この回答への補足

はい thinドライバです
なお2台のDBサーバとAPサーバはすべて違うハードなので
ネットワーク経由にならざるをえません

補足日時:2010/09/03 22:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!