那位大哥能帮小弟提高一下这个语句的效率,语句为:
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上都有索引
解决方案 »
- oracle连接问题
- 9i 使用exp导出11g的数据,显示已导出字符集后exp.exe就报错关闭了,怎么解决!!关键是就11g的数据怎么放到9i上。
- Oracle的BLOB类型被Hibernate 3.0 映射为String,如何上传大数据
- 不同数据库结构间如何导数,请给个sql例子,谢谢用的是oracel
- 怎么建立这样的表?小弟没有分,大家帮帮我
- 建议:很多问题应该分专题(已经讨论清楚的,支持的顶啊 都给分)
- 请问oracle默认的管理员密码和帐号是什么?(在线等待)
- 更新语句不会写,调试老不会通过。
- 求把数据从sql server中导出到oracle的sql语句
- 如何插Date型数据?
- 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 /