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

Home -> Community -> Usenet -> c.d.o.server -> Re: Large set-based UPDATE

Re: Large set-based UPDATE

From: Paul <f1fteen_at_hotmail.com>
Date: 13 Feb 2003 08:20:21 -0800
Message-ID: <7b7286ec.0302130820.37acfb7f@posting.google.com>


Hi bpathakis, thanks for taking the time to respond. Comments embedded below.

bpathakis_at_yahoo.com (Brent) wrote in message news:<1736c3ae.0302120937.291bc80e_at_posting.google.com>...

> Paul,
>
> I would check to see if there are any un-indexed foreign keys on
> the table. If there are, and this key is updated, it can cause a
> table lock.

There are no un-indexed foreign keys.  

> An update (except in the case of un-indexed foreign keys) shouldn't
> block any other transactions.

I thought that all rows that satisfy the WHERE clause in an UPDATE statement would be locked until the UPDATE was fully committed (ie. all 150,000 rows).

Incidentally, at what precise point are the locks taken out on an UPDATE statement? I mean, if the underlying select statement takes a while to establish exactly which rows are in the set, how can it lock them? Or is the whole table locked until the point at which the exact rows are known?

All help appreciated.

Paul. Received on Thu Feb 13 2003 - 10:20:21 CST

Original text of this message

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