oracle JDBC insert 最佳化(二) :使用批次寫入,提高oracle資料庫寫速度

jidongzheng發表於2009-10-08

前面提到,可以透過bulk insert 快速提高oracle寫的速度.

但這個方法需要在資料庫端新增procedure,不適合有些程式的開發.

以下介紹一個採用oracle jdbc batch寫入的方法,提高寫入的速度.

以下給出寫入過程的示例,請大家參考.

測試結果:在30000條記錄情況下,速度提高一倍.

[@more@]

public void test_batch()
{
try
{
String insertSql = "insert into t_batch(name,name2,name3) values(?,?,?)";

PreparedStatement ps = oraCon.prepareStatement(insertSql);
for (int i = 1; i <= 30000; i++)
{
ps.setString(1, "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd" + i + "_str_" + i);
ps.setString(2, "sssssssssssssssssssssssssssssssssssssssssssssssssssssss" + i + "_str_" + i + "_mc");
ps.setString(3, "sssssssssssssssssssssssssssssssssssssssssssssssssssssss" + i + "_str_" + i + "_mc");
ps.addBatch();
if (0 == i % 500)
{
System.out.println("==>>i:" + i);
ps.executeBatch();
}
}
oraCon.commit();
}catch (Exception e) {
e.printStackTrace();
}
}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/197458/viewspace-1027637/,如需轉載,請註明出處,否則將追究法律責任。

相關文章