Подразумевает ли ReadUncommitted отсутствие блокировки

StackOverflow https://stackoverflow.com/questions/32550

  •  09-06-2019
  •  | 
  •  

Вопрос

При написании инструкции SQL в SQL Server 2005, подразумевает ли подсказка запроса READUNCOMMITTED NOLOCK или я тоже должен указать ее вручную?

Так и есть:

With (NoLock, ReadUnCommitted)

то же самое , что:

With (ReadUnCommitted)
Это было полезно?

Решение

Да, это одно и то же

Другие советы

По словам Кален Делани...

Подсказка NOLOCK не имеет ничего общего с параметрами индекса.Подсказка сообщает SQL Серверу не запрашивать блокировки при выполнении операций ВЫБОРА, поэтому не будет конфликта с данными, которые уже заблокированы.Параметры индекса просто сообщают SQL Server, что этот уровень блокировки разрешен, когда блокировка произойдет .Например, если значение ALLOW_ROW_LOCKS отключено, единственными возможными блокировками были бы блокировки страниц или таблиц.Параметры индексации не принудительно удерживают блокировки , они просто управляют возможным размером блокировок.

В ответе на вопрос в вашей теме подсказка NOLOCK и подсказка READUNCOMMITTED эквивалентны.

Я думаю, ты можешь так сказать

ReadUnCommitted обладает возможностями NoLock

Однако вы не можете этого сказать

NoLock обладает возможностями ReadUnCommitted

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top