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" <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
08/13/2002 01:34 PM
Please respond to ORACLE-L

 
        To:     Multiple recipients of list ORACLE-L <[EMAIL PROTECTED]>
        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 <[EMAIL PROTECTED]>
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: [EMAIL PROTECTED]
>
> 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: [EMAIL PROTECTED] (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: Yechiel Adar
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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: 
  INET: [EMAIL PROTECTED]

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: [EMAIL PROTECTED] (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).

Reply via email to