Library /sys$common/syshlp/SQL$HELP72.HLB  —  CREATE  STORAGE_AREA, Arguments  LOCKING level
    Syntax options:

    LOCKING IS ROW LEVEL | LOCKING IS PAGE LEVEL

    Specifies if locking is at the page or row level for the storage
    area. This clause provides an alternative to requesting locks on
    records. Specifying a lock level when you create a storage area
    overrides the database default lock level. The default is ROW
    LEVEL.

    When many records are accessed in the same area and on the same
    page, the LOCKING IS PAGE LEVEL clause reduces the number of lock
    operations performed to process a transaction; however, this is
    at the expense of reduced concurrency because these pages' locks
    are held until COMMIT/ROLLBACK. Transactions that benefit most
    with page-level locking are of short duration and also access
    several database records on the same page. However, to guarantee
    consistency of the data in the absence of row locking these page
    level locks must be held until the transaction ends with COMMIT
    or ROLLBACK.

    Use the LOCKING IS ROW LEVEL if transactions are long in duration
    and lock many rows.

    The LOCKING IS PAGE LEVEL clause causes fewer blocking ASTs
    and provides better response time and utilization of system
    resources. However, there is a higher contention for pages and
    increased potential for deadlocks and long transactions may use
    excessive locks.

    Page-level locking is never applied to RDB$SYSTEM or the DEFAULT
    storage-area, either implicitly or explicitly, because the
    locking protocol can stall metadata users.

    You cannot specify page-level locking on single-file databases.
Close Help