前面提到,可以通过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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/197458/viewspace-1027637/