Serializable Isolation Level
The Serializable isolation mode requires that a selected set of data not change until transaction commit. The page locking protocols prevent phantoms, readers block writers.
Row-level locking can provide repeatable read, but this requires extra locks. These locks include data page locks for the ISAM and heap tables, value locks for the hash table, and leaf page locks for the B-tree table.
An isolation level is automatically increased from RC and RR to serializable for:
• Any operation on system catalogs
• During the checking of integrity constraints
• The execution of actions associated with referential constraints
This increase is necessary to ensure data integrity. However, if an integrity constraint is implemented by a user-defined rule, it is the user’s responsibility to provide the appropriate isolation level.