同样的代码,插入数据库条数不一致
...PreparedStatementpst=(PreparedStatement)conn.prepareStatement("insertintoTBLvalues...
...
PreparedStatement pst = (PreparedStatement) conn.prepareStatement(
"insert into TBL values (?, 'ABC')");
for (int j = 0; j < 10; j++) {
String prefix = String.valueOf((char) (65 + j));
for (int i = 0; i < 10000; i++) {
pst.setString(1, prefix + String.valueOf(i));
pst.addBatch();
}
}
pst.executeBatch();
conn.commit();
...
以上代码用于向数据库表插入10w条数据,奇怪的是我在一台机器上可以执行10w条入库,但在另外一台机器上,copy了同样的代码,一次只能插入34464条,很奇怪,但我看两个for循环后确实是产生了10w条数据,但数据库中最后只有34464条,难道哪里出问题了?谢谢指点!
但奇怪的是我两台机器同时起同样的代码,插入的数据量就是不一样。
是对同一个数据库的同一张表的操作,一台是本地机,一台是VM,奇怪的是每次VM只插入34464条数据,两边代码一样,也没有提示错误,看到VM中也产生100000条数据 展开
PreparedStatement pst = (PreparedStatement) conn.prepareStatement(
"insert into TBL values (?, 'ABC')");
for (int j = 0; j < 10; j++) {
String prefix = String.valueOf((char) (65 + j));
for (int i = 0; i < 10000; i++) {
pst.setString(1, prefix + String.valueOf(i));
pst.addBatch();
}
}
pst.executeBatch();
conn.commit();
...
以上代码用于向数据库表插入10w条数据,奇怪的是我在一台机器上可以执行10w条入库,但在另外一台机器上,copy了同样的代码,一次只能插入34464条,很奇怪,但我看两个for循环后确实是产生了10w条数据,但数据库中最后只有34464条,难道哪里出问题了?谢谢指点!
但奇怪的是我两台机器同时起同样的代码,插入的数据量就是不一样。
是对同一个数据库的同一张表的操作,一台是本地机,一台是VM,奇怪的是每次VM只插入34464条数据,两边代码一样,也没有提示错误,看到VM中也产生100000条数据 展开
展开全部
2台机器硬件配置是否一样?性能较弱的有可能没来得及响应,程序以为插入失败则终止。
两处数据库设置是否一样?数据文件大小,缓冲区大小等。过小的分页会造成响应时间滞后,程序认为插入操作失败而终止
两处数据库设置是否一样?数据文件大小,缓冲区大小等。过小的分页会造成响应时间滞后,程序认为插入操作失败而终止
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询