Syntax options:
LOCKING IS ROW LEVEL | LOCKING IS PAGE LEVEL
Specifies page-level or row-level locking as the default for the
database. This clause provides an alternative to requesting locks
on records. You can override the database default lock level
at the storage area level. The default is ROW LEVEL, which is
compatible with previous versions of Oracle Rdb.
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 perfomed to process a transaction; however, this is at
the expense of reduced concurrency. Transactions that benefit
most with page-level locking are of short duration and also
access several database records on the same page.
Use the LOCKING IS ROW LEVEL clause 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 lock
protocol can stall metadata users.
You cannot specify page-level locking on single-file databases.