UPDATE ONE T
SET T.AGE =
(SELECT T2.AGE
FROM TWO T2
WHERE T2.ID=T.ID
); ONE TWO 都是2百万级别的数据,update执行起来速度太慢了。有没有好的方法让速度快速提起来。
SET T.AGE =
(SELECT T2.AGE
FROM TWO T2
WHERE T2.ID=T.ID
); ONE TWO 都是2百万级别的数据,update执行起来速度太慢了。有没有好的方法让速度快速提起来。
解决方案 »
- ORA-01940: cannot drop a user that is currently connected 错误
- TOAD Sql Monitor 不能跟踪
- 新手,请问ORACLE一般用那种数据类型作为主键
- 问个trigger的问题。。。。。。
- oracle10 io异常问题
- 急救,SELECT中的group by 句子,在线等
- 复杂sql:关于列转行
- 什么是Sort Merge Join(SMJ)连接?
- 一个时间问题
- 我导入数据的时候出现“不支持要求的字符集转换(从类型31到852)”的错误,请问该怎么办啊?
- 触发器和存储过程实现2张表的同步
- Oracle 语句,急,在线等。。。大大帮帮忙
2)控制事务单位,比如2000条update完一个commit
3)用Oracle专用的update也可以考虑:比如对视图的UPDATE语句
row_num number := 0;
begin
for c_usr in (select login_id from im_user t where id is null) loop
update im_user i set i.id =
(select id from bmw_users u where i.login_id = u.nick)
where login_id = c_usr.login_id;
row_num := row_num + 1;
if mod(row_num,100) =0 then
commit;
end if;
end loop;
commit;
end;