Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Large Update .. Please Advice
Hello to all,
i must do a large update .
I have 2 tables with 37 million records tvbill_cisco_cdrs partition
(log_2004_12)
and cisco_updates . I want by selecting from cisco_updates to update
some columns on tvbilL_cisco_cdrs , i am doing this :
update /*+ index (a CONNECT_TIME_CONF_ID_IDX) */ tvbill_cisco_cdrs a
set (a.orig_called_number,a.release_source,a.h323_voice_quality,a.gtd_term_cic,a.coder_type_rate)
=
(select /*+ FIRST_ROWS */ case when H323CALLTYPE||H323CALLORIGIN =
'TA' then ORIGCALLEDNUM else null end,
RELEASESOURCE, H323VOICEQUALITY, GTDTERMCIC, CODERTYPERATE
from cisco_updates b
where rowid between 'AAAEeJABwAAAAAJAAA' and
'AAAEeJABwAAAXQICcQ'
and b.h323confid=a.h323_conf_id and b.h323calltype=a.h323_call_type and b.H323CALLORIGIN=a.h323_call_origin and b.h323connecttime=a.h323_connect_time and b.acctoutoctets=a.acct_output_octets and nvl(b.h323remoteaddress,'x')=nvl(a.h323_remote_address,'x')and rownum<2)
and the rowid ranges were found from table split by rowid.
Can anyone suggest an other way because this takes allmost 2 days to complete Received on Mon Jan 31 2005 - 05:44:50 CST