| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> UPDATE
Oracle 8i (8.1.7.4) on AIX 4.3.3
No indexes on the table that is going to be updated
I changed my query to this ....
update /*+ index (a CONNECT_TIME_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 case when H323CALLTYPE||H323CALLORIGIN = 'TA' then
ORIGCALLEDNUM else null end,
RELEASESOURCE, H323VOICEQUALITY, GTDTERMCIC, CODERTYPERATE
from cisco_updates b
where 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)
Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
UPDATE STATEMENT Optimizer Mode=CHOOSE 292 K 2869375
UPDATE BILLING_MASTER.TVBILL_CISCO_CDRS
TABLE ACCESS BY LOCAL INDEX
ROWID BILLING_MASTER.TVBILL_CISCO_CDRS 292 K 31 M 2869375
6 6
INDEX RANGE SCAN BILLING_MASTER.CONNECT_TIME_IDX 292 K 13920
6 6
COUNT STOPKEY
TABLE ACCESS BY INDEX ROWID BILLING_MASTER.CISCO_UPDATES 1 85
6
INDEX RANGE SCAN BILLING_MASTER.H323_IDX 1 4
The tables has statistics
This run takes about 6hours to update 6 milion rows each time Received on Wed Feb 02 2005 - 06:20:02 CST
![]() |
![]() |