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: Nguyen, David M <david.m.nguyen_at_xo.com>
Date: Wed, 14 Aug 2002 09:18:48 -0800
Message-ID: <F001.004B4DD2.20020814091848@fatcity.com>


I am not testing your guys' skills I am honestly asking for help as I don't have much experience about database. I have a lots on my plate at work to take care of that's why I don't have much time to check email or to response.

Here are some stupid questions I need to ask...how do I turn trace on? Regarding bulkload, I have no problem with bulkloading NEW records, it runs fast for me but in this case I just want to UPDATE 10,000 records, can I use bulkload to update records?

Regards,
David

-----Original Message-----
Sent: Wednesday, August 14, 2002 10:59 AM To: Multiple recipients of list ORACLE-L

 I think the original poster was testing our skills since he posted his problem and disappeared.

Also he asked for some init.ora parameter to make it faster:)

Regards,

Waleed

-----Original Message-----
To: ORACLE-L_at_fatcity.com; Khedr, Waleed
Sent: 8/14/02 10:42 AM

It wasn't 20 seconds it was 15 seconds.

The same lessons apply. Without knowing what else is going on in the database, it's not possible to say why it's taking an hour to insert 10k rows.

Using bind variables will drastically reduce the resources consumed by the insert job.

Using SQL*loader with a generous bindsize argument would be even better.

Running the queries on the wait interface is a start to learning what the problem is.

But then, I'm sure you're already aware of all this, and I'm no doubt preaching to the choir.

Jared

On Tuesday 13 August 2002 18:43, Khedr, Waleed wrote:
> His problem is not reducing 60 sec to 20 seconds but why an hour or
more
> was taken to update 10,000 rows.
>
> It's obvious there are other things (which I indicated in my email)
that
> need to be sorted out to reduce the hour to few minutes.
>
> Regards,
>
> Waleed
>
> -----Original Message-----
> Sent: Tuesday, August 13, 2002 9:08 PM
> To: Multiple recipients of list ORACLE-L
>
>
> David,
>
> 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.
>
> HTH
>
> Jared
>
>
>
>
>
>
>
>
> "Nguyen, David M" <david.m.nguyen_at_xo.com>
> Sent by: root_at_fatcity.com
> 08/13/2002 01:34 PM
> Please respond to ORACLE-L
>
>
> To: Multiple recipients of list ORACLE-L
<ORACLE-L_at_fatcity.com>
> cc:
> Subject: RE: It took more than an hour to update 10,000
> records
>
>
> Is there a parameter that I can tune in init.ora file to improve this
> process?
>
> Thanks,
> David
>
> -----Original Message-----
> Sent: Tuesday, August 13, 2002 2:00 PM
> To: Multiple recipients of list ORACLE-L
>
>
> Bind variables will not buy you anything. The time taken is mainly
> dependent
> on the execution plan and the cardinality of the indexes being used.
Also
> any overhead like updating a column that's part of an index, triggers,
> referential constraints, etc.
>
> Waleed
>
> -----Original Message-----
> Sent: Tuesday, August 13, 2002 2:35 PM
> To: Multiple recipients of list ORACLE-L
>
>
> I run it on the server. How do I use bind variables?
>
> Thanks,
> David
>
> -----Original Message-----
> Sent: Tuesday, August 13, 2002 1:13 PM
> To: Multiple recipients of list ORACLE-L
>
>
> From the look of your sql statements it seems that each
> statement will be hard parsed because the values are different.
> If you will use bind variables you can save a lot of time.
>
> Is the script runs on the server or from another computer?
> If you run the script from another computer you also have the
> network time added.
>
> Yechiel Adar
> Mehish
> ----- Original Message -----
> To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
> Sent: Tuesday, August 13, 2002 6:24 PM
>
> > Hi all,
> >
> > 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;
> >
> >
> > Thanks,
> > David
> > --
> > Please see the official ORACLE-L FAQ: http://www.orafaq.com
> > --
> > Author: Nguyen, David M
> > INET: david.m.nguyen_at_xo.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).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Khedr, Waleed
  INET: Waleed.Khedr_at_FMR.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).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Nguyen, David M
  INET: david.m.nguyen_at_xo.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 Wed Aug 14 2002 - 12:18:48 CDT

Original text of this message

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