Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос о SELECT FOR UPDATE / 2 сообщений из 2, страница 1 из 1
02.11.2009, 11:16
    #36285370
PowerEdge
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о SELECT FOR UPDATE
Добрый день.

Объсните, пожалуйста, механизм работы выражения SELECT FOR UPDATE. Блокирует ли он все записи в выборке одновременно или позаписьно?

Представте такую сетуацию:

имеется некая таблица (table1) с 3-мя записями: А,В,С
а также 2 транзакции, обновляющие эти записи в такой последовательности:


1) Транзакция 1 обновляет запись С
2) Транзакция 2 Выполнят запрос select * from table1 for update
3) Транзакция 1 обновляет запись А

Будет ли в данной ситуации дэдлок (так как Тр.1 держит С и ждёт блокировку А, а Тр.2 заблокировала А и В и ждёт блокировку С) или транзакция 2 будет ожидать пока снимется блокировка с записи С, не блокируюя при этом А и В?
...
Рейтинг: 0 / 0
02.11.2009, 14:40
    #36286015
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о SELECT FOR UPDATE
Добрый день.PowerEdgeОбъсните, пожалуйста, механизм работы выражения SELECT FOR UPDATE. Блокирует ли он все записи в выборке одновременно или позаписьно?Позаписьно.
Когда именно это происходит (в момент fetch или open) - зависит от уровня изоляции.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос о SELECT FOR UPDATE / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]