powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Какой уровень изоляции выбрать для процедуры?
6 сообщений из 31, страница 2 из 2
Какой уровень изоляции выбрать для процедуры?
    #40070721
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
использовать rcsi лишь в некоторых транзакциях

Это как?
...
Рейтинг: 0 / 0
Какой уровень изоляции выбрать для процедуры?
    #40070787
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
H5N1
использовать rcsi лишь в некоторых транзакциях

Это как?


да, как это? собственно, с этого вопроса и началась тема. но там два других варанта.
...
Рейтинг: 0 / 0
Какой уровень изоляции выбрать для процедуры?
    #40070790
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
H5N1
пропущено...

лишние. при чтении лишние блокировки накладывает. отсюда и дедлоки на пустом месте
пропущено...

глупости. rcsi без блокировок дает консистентный набор


"Лишние", говоришь?
А мужики то в мелкософте и не знают.

"Глупости", говоришь?
Дык никто ж не мешает тредстартеру включить rcsi и умыться слезами.


что за фигня? На Production базе делать эксперименты думая, что включение RCSI - это просто включить и выключить.
А если потом (!) выяснится, что с данными что-то не то, тогда рассказать про неких "мужиков то в мелкософте" и "умыться слезами"?
...
Рейтинг: 0 / 0
Какой уровень изоляции выбрать для процедуры?
    #40070799
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
aleks222
пропущено...


"Лишние", говоришь?
А мужики то в мелкософте и не знают.

"Глупости", говоришь?
Дык никто ж не мешает тредстартеру включить rcsi и умыться слезами.


что за фигня? На Production базе делать эксперименты думая, что включение RCSI - это просто включить и выключить.
А если потом (!) выяснится, что с данными что-то не то, тогда рассказать про неких "мужиков то в мелкософте" и "умыться слезами"?


Вы не нервничайте, поциент.
Это ваще не с вами говорят.

Модератор: Споконее, пожалуйста
...
Рейтинг: 0 / 0
Какой уровень изоляции выбрать для процедуры?
    #40070810
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
НеофитSQL
Разве чтение может блокироваться?

Да, может.
Пример из практики. Есть таблица в куче и два индекса - первичный ключ, и покрывающий (include) индекс, предназначенный для определенного запроса. (Заметьте, таблица одна, но объектов два). В процессе развития приложения этот запрос изменился, в него включили пару дополнительных полей. План запроса тоже изменился, и стал выполнять помимо поиска по инклуд-индексу, еще и lookup по первичному ключу.
В ситуации, приведшей к дедлоку, первая сессия (читатель only!), при поиске по покрывающему индексу, сначала наложила S-блокировку на ключ в этом индексе, (прочитала его), и стала читать ключ из PK, (это всё в одном операторе select !), то есть попыталась наложить блокировку чтения и на него, но не тут-то было. Поскольку "в это же время" другая сессия (писатель, update) уже изменила строку в первичном ключе, (наложив на неё эксклюзивную X-блокировку), и вознамерилась довершить дело, (это тоже всё в одном запросе!), внеся соответствующие изменения в инклуд-индекс. Но эта строка в покрывающем индексе уже была заблокирована первой сессией.
...
Рейтинг: 0 / 0
Какой уровень изоляции выбрать для процедуры?
    #40071190
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Uridian,

Спасибо за подробное объяснение, я его частично понял.

В оракле (извиняюсь за упоминание непрофильного софта, важно для примера) эксклюзивный лок не запрещает чтение, поэтому такая ситуация не могла бы произойти. Т.е. по крайней мере есть гарантия что в Ларрином мире читатели рано или поздно закончат и отпустят ресурс, дедлока не будет. Есть особый случай "select.. for update", который намеренно ведет себя как писака, он хорошо известен им пользуются когда блокировка нужна. Но блокировка от других писак.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Какой уровень изоляции выбрать для процедуры?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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