那位大哥能帮小弟提高一下这个语句的效率,语句为:
update reduser_acct_item_t a
set a.user_name=(select b.user_name from wlmq.serv_subscriber_t@ods b
where a.serv_id=b.serv_id and b.state='00A');两个表中的数据都比较大,上百万的数据,表的serv_id上都有索引
update reduser_acct_item_t a
set a.user_name=(select b.user_name from wlmq.serv_subscriber_t@ods b
where a.serv_id=b.serv_id and b.state='00A');两个表中的数据都比较大,上百万的数据,表的serv_id上都有索引
解决方案 »
- 64位 Win7 下 Toad for Oracle 10.5 连接Oracle10g
- 我的oracle有14G多。但是SGA只有584 PGA194..这样合理吗?
- 请问如何expdp/impdp一个分区表的其中某个分区的数据?谢谢!!!
- 求一ORACLE 语句~~
- 请教ORACLE 的SELECT 语句 WITH READ ONLY 的作用
- oracle存储过程返回结果集
- 请问linux下oracle有没有向windows那样图形化的管理工具啊?
- 这个语句什么意思啊
- 希望学习存储过程和触发器编程
- 怎样把除数为0的报错关闭,急
- oracle中的查询问题,要把列变成表头,急!!!!!!!!!!!!
- 怎么看执行计划
Begin
For x In (Select b.serv_id,b.User_Name
From Wlmq.Serv_Subscriber_t@Ods b
Where b.State = '00A')
Loop
update reduser_acct_item_t a
set a.user_name = x.User_Name Where a.serv_id=x.serv_id
End Loop;
End
where [email protected]_id
and [email protected]='00A'
不知会不会比你原先的快
2 i number;
3 begin
4 for i in 1..100 loop
5 delete from test1 where rownum<=10;
6 dbms_output.put_line(i);
7 if (sql%rowcount <10 ) then
8 commit;
9 exit ;
10 end if;
11 commit;
12 end loop;
13 end;
14 /