![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
interv |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
Дано: Таблица 1 (Т1), Таблица 2 (Т2), Хранимка 1 (Х1), Хранимка 2 (Х2)
Задача: избежать взаимных блокировок. Решение: Х1:
Х2:
Говнокод форева, но! Избегаю ли я мертвых блокировок? И как можно избежать их(блокировок), если Х1 лочит сначала T1 а потом Т2, а Х2 наоборот Т2 а потом Т1 |
||||
|
|||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 10 Всего: 161 |
По существу ответить не могу, могу лишь хинтануть. Для того, чтобы избегать взаимных блокировок, необходимо захватывающим процессам обеспечить одинаковую последовательность захвата сущностей. На сколько я могу оценить приведенный вами псевдокод, для обеспечения репитабл рид необходимо удержание шаред лока на разделяемом ресурсе. Шаред лок же не блокирует другие шаред локи. В связи с этим, полагаю, описанные вами процедуры, хоть и будут удерживать какую-то блокировку, но не должны друг друга блокировать в принципе. Тем более уж намертво. То, что приводит к блокировке и дедлоку, скорее всего, скрыто за "[[[Something]]]", потому никак не подлежит оценке Это сообщение отредактировал(а) Zloxa - 6.10.2014, 16:56 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
interv |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 24.1.2012 Репутация: нет Всего: 4 |
Да... я тоже решил как-то прийти к этому решению... буду переписывать часть кода =) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |