RE: can table locking improve performance ??

  • From: "Mercadante, Thomas F" <thomas.mercadante@xxxxxxxxxxxxxxxxx>
  • To: "'oracle-l@xxxxxxxxxxxxx'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 8 Jun 2004 14:48:38 -0400

Babette,
 
My guess is that you will ether see no improvment at all, or it will get
worse.
 
Oracle will issue it's own locks - your placing a lock on a row may actually
slow it down.  I can't see it getting any better.  As you said, you will be
the only person on the database at the time - you will be contending with
anyone else trying to lock either the table or a row in the table.
 
I say leave it alone.  Don't issue any locks at all - let Oracle take care
of them.
 
To speed up the process, you may need to re-engineer how you are doing it.
Are you performing a straight sqlldr load, CTAS, procedural
loop/insert/update?
 
Tom Mercadante 
Oracle Certified Professional 

-----Original Message-----
From: babette.turnerunderwood@xxxxxxxxxxxxx
[mailto:babette.turnerunderwood@xxxxxxxxxxxxx] 
Sent: Tuesday, June 08, 2004 2:42 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: can table locking improve performance ??




We have an initial load process that is very long running. 
The update of 38M rows takes hours and hours. 
There are two users on the entire system, us doing the 
load and another user to look at some of the v$ views 
during the load process. 

Updates need to put exclusive row-level locks before 
being able to update rows. If we do a table level lock 
PRIOR to the update statement, what effect will it 
have on performance. Intuitively, we think it should be 
more efficient, but I don't know if Oracle will be more 
efficient in checking locks when updating rows 
or does the exact same source code apply, regardless 
if there is a table level lock. 

In other words, in this case, can a table level lock 
improve performance ? 

- thanks 
Babette 

Other related posts: