我正在用Java将一个表的数据写回我的MYSQl dB。但是执行一个executeBatch需要1.241秒!这是我的代码:
updateLieferant = conn.prepareStatement(
"UPDATE "+dbnames.artikel.name+" SET Abteilung = ? , statusAusmessen = ? , Status = ? "
+" WHERE " +dbnames.auftragsnummer +" = ? " +" AND " +dbnames.artikelnummer +" = ?");
updateLieferant.setString( 1, "blabla" );
updateLieferant.setString( 2, "blabla" );
updateLieferant.setString( 3, "blabla" );
updateLieferant.setString( 4, "blabla");
updateLieferant.setString( 5, "blabla" );
long time = System.nanoTime();
updateLieferant.executeBatch();
time = System.nanoTime()- time;
System.out.println(time/1000000);
输出1241毫秒…我做错了什么吗?从这个页面我看到它应该需要大约100毫秒。http://rostislav-matl.blogspot.ch/2011/08/fast-inserts-to-postgresql-with-jdbc.html
executeBatchof多次执行语句,如您发布的链接中的BPI部分(它处于循环中),但在这里您只执行一次。
相反,尝试
updateLieferant.executeUpdate();