[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ulysse::rdb_vms_competition

Title:DEC Rdb against the World
Moderator:HERON::GODFRIND
Created:Fri Jun 12 1987
Last Modified:Thu Feb 23 1995
Last Successful Update:Fri Jun 06 1997
Number of topics:1348
Total number of notes:5438

136.0. "Oracle Table-level Locking" by HGOV06::YCPOON (Y.C. Poon from Hong Kong) Thu May 19 1988 13:02

    Oracle has done a benchmark on our VAX. In a multiuser update test,
    several users commit their transactions for the same application
    at approximately same time. The response time for different users are "in
    a geometric sequence".
    eg. User 1: 10 sec
    	User 2: 20 sec
    	User 3: 30 sec ... etc
    
    The Oracle guy explains that this is because Oracle implements
    table-level locking for database update. The second transaction
    has to wait for the completion of the first transaction before it
    starts. So, the N-th user has to wait for the completion of N-1
    transactions!
    
    In Rdb, we have implemented record-level locking. Can we perform
    much better in the above situation? If this is one of our significant
    edges over Oracle, we can deliver this message in our future battles
    against Oracle.
T.RTitleUserPersonal
Name
DateLines
136.1JENEVR::CHELSEAMostly harmless.Mon May 23 1988 16:559
    Re: .0
    
    >Can we perform much better in the above situation?
    
    Maybe.  It depends on how the transaction is defined.  If the relation
    is reserved for SHARED access, if the index is used to retrieve
    records, if the indexed field is not updated, if users update entirely
    distinct sets of records - then yes, we can do much better.  The
    users would all have roughly the same response time on the commit.
136.2Not always Table LockingKOKO::DAVISOuter Joins are Un-Natural Tue May 24 1988 18:167
    I believe that ORACLE allows a finer level of granularity on locking
    maybe record or page, by employing a SELECT FOR UPDATE syntax. I
    also believe that the locking has been significantly revamped for
     the 'TPS' version of ORACLE. 
    
    Sandy
    
136.3We should win in multi-user update as a general rule!BANZAI::BERENSONRdb/VMS - Number ONE on VAXFri May 27 1988 15:035
It does appear that you have to write your queries in a special way to
get record level locking with ORACLE.  By the way "ORACLE*TPS", or
whatever they really call it when formally announced, gets its
performance by having you re-write your applications in a special
(incompatible?) variant of SQL.
136.4record level locking by default in V6DEBIT::FOLDEVIFri May 27 1988 17:445
    
    According to what was presented last fall at Oracle User conf, the
    default locking level will be the record level in Version 6 of Oracle.
    Table level is to be optional.  I would assume that this applies
    whether or not the new PL/SQL (procedural SQL) is used.