java - mysql odbcexecuteBatch需要很长时间

标签 java mysql odbc batch-updates

我正在将 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

最佳答案

executeBatch 用于多次执行语句,如您发布的链接中的 BPI 部分(它在循环中),但在这里您只执行一次。

相反,尝试

updateLieferant.executeUpdate();

关于java - mysql odbcexecuteBatch需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20563160/

相关文章:

java - Axis2 测试客户端错误

java - 全部替换为 '*'

mysql - 创建计算列时出现 "as"错误

excel-vba - 麻烦更改与vba的odbc连接的commandText

Java 或任何其他语言 : Which method/class invoked mine?

mysql - 在具有不同类型交易的sql连接交易表中

mysql - 如何使用 phpmyadmin 删除标记为 'in use' 的表

java - 计算机之间的 JDBC 连接停止工作

sql-server - 尚不支持pandas + pyodbc ODBC SQL类型-150

java - 使用 Java 反射,如何将参数化类型的参数获取到方法?