程序对大数据量进行操作。操作的数据库为Oracle
过程是先对数据进行delete操作,然后进行insert操作。
数据量大概是百万条左右。
现在使用的方法是jdbc的PreparedStatement,每5万条commit一次。
可是这样的话程序的速度还是达不到要求。
f(((a+1) % 50000)==0){
delPstmt.executeBatch();
insPstmt.executeBatch();
dbConn.commit();
dbConn.setAutoCommit(true);
delPstmt.close();
insPstmt.close();
dbConn.setAutoCommit(false);
delPstmt = dbConn.prepareStatement(deleteSql);
insPstmt = dbConn.prepareStatement(insertSql);
}
有没有比较快的方法,不限定于用jdbc.导出文件导入库什么方法也可以。
但是一定得按顺序先执行delete操作,再进行insert操作。
[b]问题补充:[/b]
数据在其他的库里面。我先执行一个select 语句,把符合条件的数据采集出来,然后迭代ResultSet。
接着就是进行如上的操作。先删后插
[b]问题补充:[/b]
对了。不是删掉表部表中的数据。
删掉的数据就是REsultRet里面迭代出来的数据。因为怕有键值重复。所以进行先删后插。没办法,业务需要