Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Блокировка на уровне таблицы
Блокировка на уровне таблицы
Транзакция может быть сконфигурирована для блокирования всей таблицы. Существует два приемлемых способа сделать это в DSQL: установив уровень изоляции транзакции в SNAPSHOT TABLE STABILITY (известный также как согласованный режим, поддерживаемый повторяемым чтением, repeatable read) или с помощью резервирования таблицы. Следует подчеркнуть, что такие настройки нужны в случае, когда требуются приоритетные условия. Они не рекомендуются для ежедневного использования в Firebird.
Неприемлемый способ установления блокировки на уровне таблицы (Firebird 1.5 и выше) - применение пессимистической блокировки на уровне оператора, которая действует на всю таблицу. Оператор подобный следующему делает это:
SELECT * FROM ATABLE
FOR UPDATE WITH LOCK;
Строго говоря, это не является вопросом конфигурирования транзакции. Тем не менее конфигурирование транзакции, которая владеет наборами, найденными с этой явной пессимистической блокировкой, является важным. Вопросы пессимистической блокировки обсуждаются в главе 27.
- Блокировка на уровне оператора
- Статистика по блокировкам
- Использование представления в виде таблицы данных
- 4.3. Логические функции и таблицы истинности
- ГЛАВА 16. Таблицы.
- Обработка данных на промежуточном уровне
- Глава 2 Первый уровень трехуровневой концепции мерчандайзинга. Внешний вид магазина и территория вокруг него
- 5.1.13. Таблицы
- 8.6.1. Блокировка приема спама
- 8.6.2. Блокировка пересылки спама
- 14.2.2. Блокировка POSIX: fcntl() и lockf()
- Вставка таблицы в документ