129
Период блокировки обычно устанавливается от запроса
требуемого ресурса и до конца транзакции. Это, в
частности,
означает, что транзакции следует делать максимально короткими.
В то же время во многих случаях возможен и такой режим, когда
команды блокирования и разблокирования выполняются явным
образом.
Уровень блокируемых данных
определяется как решаемыми
задачами, так и соотношением между выигрышем от повышения
параллельного выполнения транзакций и требуемыми для этого
накладными расходами. Самым грубым вариантом является бло-
кировка
всей базы данных, применяемая,
например, при ее ре-
структуризации и блокирующая
выполнение всех остальных
транзакций, а потому редко применяемая. На логическом уровне
можно выделить блокировку таблиц, отдельных строк и диапазо-
нов строк (определяемых, например, командами SELECT …
WHERE …). Однако, поскольку
накладные расходы на реали-
зацию блокировки строк достаточно велики,
чаще блокируются
страницы (блоки данных на диске), на которых располагаются
эти строки.
К видам блокировки относят разделяемую и исключительную
блокировки. Разделяемая блокировка (блокировка записи) озна-
чает, что блокируются только
команды модификации данных
(INSERT, DELETE, UPDATE), а команды чтения (SELECT) раз-
решены. Исключительная блокировка (блокировка чтения) запре-
щает все команды работы с блокируемыми данными.
Do'stlaringiz bilan baham: