Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Hint nolock / 6 сообщений из 6, страница 1 из 1
21.04.2020, 10:02
    #39949215
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
Какие есть рекомендации, надо ли избавляться от with(nolock) для сервера SQL2017, SQL 2019?
...
Рейтинг: 0 / 0
21.04.2020, 10:10
    #39949219
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
Ролг Хупин,

Не использовать в боевых запросах, где важна целостность данных.

Использовать в мониторинговых запросах, где не критична целостность данных.
...
Рейтинг: 0 / 0
21.04.2020, 10:32
    #39949224
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
Ролг Хупин
Какие есть рекомендации, надо ли избавляться от with(nolock) для сервера SQL2017, SQL 2019?

Если у вас включен RCSI, то этот хинт может потребоваться только в очень специфических случаях.
...
Рейтинг: 0 / 0
21.04.2020, 10:40
    #39949227
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
msLex
Ролг Хупин
Какие есть рекомендации, надо ли избавляться от with(nolock) для сервера SQL2017, SQL 2019?

Если у вас включен RCSI, то этот хинт может потребоваться только в очень специфических случаях.


Не включен, это все хвосты структуры SQL 2000, 2005. Подумал, может не рекомендуется уже для новых серверов
...
Рейтинг: 0 / 0
21.04.2020, 10:53
    #39949233
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
Ролг Хупин
msLex
пропущено...

Если у вас включен RCSI, то этот хинт может потребоваться только в очень специфических случаях.


Не включен, это все хвосты структуры SQL 2000, 2005. Подумал, может не рекомендуется уже для новых серверов

Никаких новых рекомендаций по использованию этого хинта нет, это по прежнему синоним readuncommited aka грязное чтение данных.
По прежнему, иногда это может вызывать ошибки "Could not continue scan with NOLOCK due to SQL Server data movement" и по прежнему есть вероятность получить грязные (в том числе фантомные) записи.


Во времена SQLServer 2000 (и раньше), его использовали для избежания ожидания на несовместимых S блокировках и X,U и т.д.

Начиная с 2005 появился RCSI, при котором в RC не накладывается S блокировка.
Для большинства задач, обычный перевод в базы в режим RCSI с последующим удалением этого хинта из кода решает проблему.
...
Рейтинг: 0 / 0
21.04.2020, 14:02
    #39949341
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hint nolock
Зависит от целей, которые преследуются.

Если вероятность отката невелика или неважны записи, в которых в момент запроса выполняется изменение данных, то можно использовать READPAST подсказку. Эту подсказку, как правило, используют при работе с таблицей-очередью.

В процедурах, которые вносят изменения в таблицы, особенно конкурентно, или могут выполняться одновременно, использовать NOLOCK нельзя.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Hint nolock / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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