April 2018
Intermediate to advanced
508 pages
15h 22m
English
Why go through all this trouble? The transaction isolation of sessions from one another has an extremely valuable result: it avoids locking many resources that can block other clients from doing their work. The locks required to run a query and read data do not conflict with the ones that are needed to write to the database. Reading never blocks writing, and writing never blocks reading. This model scales quite well into large client counts without running into lock contentions for either tables or rows. You can still explicitly lock a row or table if needed, by methods including the LOCK statement and the lock upgrades implemented in SELECT FOR SHARE and SELECT FOR UPDATE statements.
Read now
Unlock full access