| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: How to update multiple rows atomically
Marshall wrote:
> Bob Badour wrote: >
> > Well, crap. That's no fun. > > So, does this condition represent a theoretical limit, a lack of a > decent model, or just lousy implementations?
None of the above and all of the above.
It is possible to avoid deadlock, as you observed, using canonical locking orders. However, doing that will preclude lazy evaluation in at least some cases and will limit the choice of access paths thereby affecting physical independence. This, then, gets into the nitty gritty world of engineering design tradeoffs.
I particularly enjoyed the paper recently posted to the group that discussed proofs. In particular, the authors proved the maximium resource usage of their program and then turned off runtime resource checks.
I would like to see systems capable of more global optimizations that could identify and automate or assist such tradeoff decisions. Thus, the dbms could optimize some universe of code to avoid deadlock while allowing ad hoc queries that could cause deadlock. When an ad hoc query involves a deadlock-free query in a deadlock situation, the ad hoc query would always lose with an error allowing the deadlock-free query to proceed. The dbms would only have to check for deadlocks for the ad hoc queries and one could write applications that do not account for deadlock errors knowing that none could ever occur. Received on Sat Jul 29 2006 - 11:38:04 CDT
![]() |
![]() |