
Java:批量插入数据工具,1W条数据13秒是快是慢?
大神来告诉告诉我呗我对性能不敏感也不懂我的代码是从网上拷来的那人说他机器是3秒...到我这就13秒了...公司要1TB的数据,我得估计一下服务器要开几天conn.setA...
大神来告诉告诉我呗 我对性能不敏感 也不懂
我的代码是从网上拷来的 那人说他机器是3秒...到我这就13秒了...公司要1TB的数据,我得估计一下服务器要开几天
conn.setAutoCommit(false);
pst = (PreparedStatement) conn.prepareStatement(sql);
for (int i = 0; i < 10000; i++) {
pst.setInt(1, i);
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
conn.commit(); 展开
我的代码是从网上拷来的 那人说他机器是3秒...到我这就13秒了...公司要1TB的数据,我得估计一下服务器要开几天
conn.setAutoCommit(false);
pst = (PreparedStatement) conn.prepareStatement(sql);
for (int i = 0; i < 10000; i++) {
pst.setInt(1, i);
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
conn.commit(); 展开
2个回答
展开全部
这个告诉你,要使用线程!!
你这里,暂时看不到你有任何使用线程的地方,所以你执行得会比较慢
你这里,暂时看不到你有任何使用线程的地方,所以你执行得会比较慢
追问
但是系统的资源一定,用了线程也只是将资源分开运行,为啥会提升性能呢?指点指点小弟吧
追答
资源有限又怎么样?
你能确定你单线程的时候,就能够100%把所有的资源来用到吗?
简单一点的说明吧。假如你IO操作有3个资源可以用。但是,你单线程的时候,永远只会用一个IO操作,那么,剩下的两个资源不就浪费了吗?
使用线程,是为了做到最大程度地利用你系统可用的资源。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询