PreparedStatement - executeBatch

时间:2013-12-09 06:34:49

标签: java mysql prepared-statement

我正在使用executeBatch写入数据库。 批量大小为50。

long startt = System.currentTimeMillis();
da.writeAll(batchRaiseRecords);
LoggerClient.writeError("DML write sendDML - " + (System.currentTimeMillis() - startt) + " - size - " + batchRaiseRecords.size(),"");

现在,此操作所用的时间从 0.2到6秒不等。我怀疑为什么这么多变化?

Line 2246: DML write sendDML - 362555602 - size - 50, 
Line 3960: DML write sendDML - 609145666 - size - 50, 
Line 6034: DML write sendDML - 1398866678 - size - 50, 
Line 7676: DML write sendDML - 324071619 - size - 50, 
Line 9398: DML write sendDML - 492674501 - size - 50, 
Line 11180: DML write sendDML - 632663209 - size - 50, 
Line 14926: DML write sendDML - 6776384464 - size - 50, 
Line 16542: DML write sendDML - 384737523 - size - 50, 
Line 17896: DML write sendDML - 287436213 - size - 50, 
Line 18730: DML write sendDML - 206414079 - size - 50, 
Line 19548: DML write sendDML - 288492245 - size - 50, 
Line 20382: DML write sendDML - 310753856 - size - 50, 
Line 21212: DML write sendDML - 695180583 - size - 50, 
Line 22466: DML write sendDML - 232818139 - size - 50, 
Line 23360: DML write sendDML - 246089140 - size - 50, 
Line 24420: DML write sendDML - 192751420 - size - 50, 

我多次试过这个操作,结果几乎相似。

为什么同一操作中的这么多变化 executeBatch()

编辑: DML用于写入MySql数据库。并且只有一个客户。

0 个答案:

没有答案