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)
相关问答:
我安装一台redhat linux5+oracle 10g的服务器,笔记本(XP系统)安装了oracle 10g客户端,结果老是出12560的错误,请高手指点一二,
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dpor ......
<?php
getenv("ORACLE_HOME");
$conn=ocilogon("test","test","test_db");
if($conn)
echo success;
&nb ......
原句是这样的:
$sql = "SELECT * from `BadDut.user` WHERE `Account`='".strtolower($_POST["username"])."' ";
strtolower是php的一个函数,不区分大小写的 ......
如果一个程序想支持sqlserver与oracle数据库的话。除了dbhelper类需要改变之外,参数传递也是个问题。
sqlserver的参数前缀是 “@”,而oracle是 “:”
请问有没有什么通用解决方法?我不想一个select ......
代码
select * from ct_lsb where br_number like '0746 8[1-3]%'
请问 为什么这个查不出数据?
select * from ct_lsb where br_number like '0746 83%'这个查的出额!
select ......