Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Немного про блокировку IX  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
сильно пока в них не разобрался и немного путаюсь.
Делаю цикловой апдейт на таблицу,
смотрю по блокировкам есть блокировки X страницу и IX на таблицу,
IX блокировка с намереванием монопольного достпа -вот здесь я просто не до конца понимаю значение с намерением.
Я так понял при обновление она ставится, для того чтобы другие транзакции не могли поставить блокировку монопольную X как раз на эту таблицу, т.е они сразу видять , что на таблицу есть блокировка IX, то значит они не смогут поставить свою блокировку на таблицу и ждут окончания этой блокировки, нет надобности смотреть все другие низкие блокировки.
А сама траназакция, которая поставила IX, ставит X на страницу\ ключ , того что надо обновить.

Соответсвенно когда на таблицу IX мы можем делать обновления\вставку данных, если наши данные не попадают в диапазон блокировок X.
Правильно ли я понимаю?
5 апр 12, 18:24    [12372374]     Ответить | Цитировать Сообщить модератору
 Re: Немного про блокировку IX  [new]
Lock Compatibility
Guest
Slava_Nik
сильно пока в них не разобрался и немного путаюсь.
Делаю цикловой апдейт на таблицу,
смотрю по блокировкам есть блокировки X страницу и IX на таблицу,
IX блокировка с намереванием монопольного достпа -вот здесь я просто не до конца понимаю значение с намерением.
Я так понял при обновление она ставится, для того чтобы другие транзакции не могли поставить блокировку монопольную X как раз на эту таблицу, т.е они сразу видять , что на таблицу есть блокировка IX, то значит они не смогут поставить свою блокировку на таблицу и ждут окончания этой блокировки, нет надобности смотреть все другие низкие блокировки.
А сама траназакция, которая поставила IX, ставит X на страницу\ ключ , того что надо обновить.

Соответсвенно когда на таблицу IX мы можем делать обновления\вставку данных, если наши данные не попадают в диапазон блокировок X.
Правильно ли я понимаю?

правильно, только помимо x на таблицу/страницу, ix запрещает вешать s на таблицу/страницу.

вот посмотрите табличку совместимости блокировок

http://msdn.microsoft.com/en-us/library/ms186396.aspx
5 апр 12, 18:40    [12372467]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить