Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: It took more than an hour to update 10,000 records

RE: It took more than an hour to update 10,000 records

From: Jacques Kilchoer <Jacques.Kilchoer_at_quest.com>
Date: Tue, 13 Aug 2002 18:13:37 -0800
Message-ID: <F001.004B3DA2.20020813181337@fatcity.com>


Actually, since the statement that is slow is an update, I would suggest also sending the execution plan to the list for suggestions. In SQL*Plus:
a) if necessary, create the plan_table using $ORACLE_HOME/rdbms/admin/utlxplan.sql
b) set autotrace traceonly statistics
c) type in update statement

> -----Original Message-----
> From: Jared.Still_at_radisys.com [mailto:Jared.Still_at_radisys.com]
>
> You don't yet know why it's slow.
>
> Why not turn tracing on for the session doing the inserts and then
> run tkprof on the trace file?
>
> Since the inserts seem to be taking so long, you should also
> be able to join v$session_wait with v$session to catch the
> waits in action and determine exactly what they are.
>
> You should also join v$session and v$session_event while
> the insert job is running.
>
> Actually, using bind variables will probably help. The insert
> statements will be less resource intensive and run much faster,
> and this will result in less contention for other sessions.
>
> My tests of insert statements with and without bind variables
> show that using bind variables resulted in an insert job
> of 27k rows running in 15 seconds and < 1/100 sec of parse time.
>
> Not using bind variables required 60 seconds, 20 of which were
> CPU parse time.
>
> The increased run time also resulted in 3x as many buffer busy
> waits for other sessions trying to hit the same table.
>
> ----------------------------------
> "Nguyen, David M" <david.m.nguyen_at_xo.com>
> ----- Original Message -----
> To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
> Sent: Tuesday, August 13, 2002 6:24 PM
>
> > I write a script to update 10,000 records in my database
> and noticed it
> took
> > more than an hour to update 10,000 records. The script
> just includes
> 10,000
> > SQL update commands as shown below. Is the time too long to update
> 10,000
> > records? Is it a way to improve the update task to run
> faster. Please
> > advise.
> >
> > *** A portion of my update script is shown below:
> >
> > update dbimpl.npa_nxx set ported_flag = 1 where nxx_id =
> 206 and npa_id
> =
> > 201 and lata_id = 224;
> >
> > update dbimpl.npa_nxx set ported_flag = 1 where nxx_id =
> 207 and npa_id
> =
> > 201 and lata_id = 224;

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Jacques Kilchoer
  INET: Jacques.Kilchoer_at_quest.com

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue Aug 13 2002 - 21:13:37 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US