Подразумевает ли ReadUncommitted NoLock

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

Так и есть:

With (NoLock, ReadUnCommitted)

такой же как:

With (ReadUnCommitted)

3 ответа

Решение

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

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

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

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

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

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

Однако вы не можете сказать, что

NoLock обладает способностями ReadUnCommitted

Другие вопросы по тегам