易截截图软件、单文件、免安装、纯绿色、仅160KB

jdbc 大批量更新 oracle数据库中的数据

我用的是PreparedStatement来发送提交,并且数据量非常庞大。
一次需要执行8900多条更新语句,也就是Update语句。
我试过分开,一部分一部分来执行提交,但还是一样的速度慢,而且越执行越慢。实在是没有什么好的办法了,请教各位高手。
8900多条更新,会慢,那就是写法有问题!

把SQL贴上来!

// 执行更新语句,将值插入到历史表中。
@SuppressWarnings("unchecked")
public void updateHistory(Map map, Measure measure) throws Exception {
String sql = " update history" + measure.getH_tableid() + " set field"
+ measure.getH_fieldid() + "=? where id =?";
System.out.println("map=" + map.size());
frame.getJTextArea1().append("map=" + map.size() + "\n");
frame.getInfoArea().append(sql + "\r\n");
PreparedStatement pstm = null;
int count = 0;
try {
conn.setAutoCommit(false);
pstm = conn.prepareStatement(sql);
Set set = map.entrySet();
Iterator it = set.iterator();
while (it.hasNext()) {
count++;
long sttime = System.currentTimeMillis();
Map.Entry entry = (Map.Entry) it.next();
List values = (List) entry.getValue();
for (int j = 1; j <= 12; j++) {
String value = StringUtil.valueTranser(values.get(j - 1)
+ "");
String id = DateUtil.calculateTime((Date)


相关问答:

求一条sql语句(php操作oracle方面的)

原句是这样的:

$sql = "SELECT * from `BadDut.user` WHERE `Account`='".strtolower($_POST["username"])."' ";

strtolower是php的一个函数,不区分大小写的 ......

php和oracle的页面登录问题

Conn.php页面:
[code=php]
<?php
$con = oci_connect("finaltest","finaltestpw","(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = ( ......

如何将oracle表转换成Access文本文件

如何将oracle表转换成Access表或文本文件
大哥急啊。。
看你用什么工具。用toad之类的导出可以选择导出格式。
用sqlplus可以spool

方法很多.
可以用pl/sql developer把表保存为excel,再把excel导入到ac ......

oracle与sqlserver的参数格式不一致,麻烦

如果一个程序想支持sqlserver与oracle数据库的话。除了dbhelper类需要改变之外,参数传递也是个问题。

sqlserver的参数前缀是 “@”,而oracle是 “:”

请问有没有什么通用解决方法?我不想一个select ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号