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)
相关问答:
本人刚学习ORACLE,请高手指点一下,万分感谢!!!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql ......
2个页面:
conn.php
PHP code:
$con = oci_connect("finaltest","finaltestpw","(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 17 ......
oracle太贵了,领导让换成mysql
原来的oracle是布置在linux服务器上,客户端用BCB开发的,在windows下运行,但运行的机器上必须装一个oracle的客户端
看了下代码,程序是通过查找oracle客户端在注册表中的数据� ......
如何将oracle表转换成Access表或文本文件
大哥急啊。。
看你用什么工具。用toad之类的导出可以选择导出格式。
用sqlplus可以spool
方法很多.
可以用pl/sql developer把表保存为excel,再把excel导入到ac ......
手头有一个老的产品,delphi 6连接oracle,取sys.aud$系统表里面的数据
用Adoconnection+adodataset,
用system用户,Adoconnection 连接成功,但如果在adodataset里面写:
SELECT * from SYS.AUD ......