Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.02.2019, 23:13
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
Добрый день, уважаемые коллеги! Собственно вопрос, в каких случаях в запросах оправданно использование конструкции with (nolock), а когда это может "выйти боком"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.02.2019, 23:30
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
Интересует возможное наличие последствий помимо эффектов грязного чтения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.02.2019, 23:34
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A., "оправданно" - это слишком громкое слово для грязного чтения. В случаях когда религия не позволяет применять оптимистическое управление параллелизмом, а читатели блокируют писателей и уж очень хочется как то минимизировать издержки на такие блокировки. При этом есть оговорка: что допустимо что читатель может получить не согласованные данные, и бизнес логика учитывает такой факт. Но это не отменяет того факта что такой подход "оправдан". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.02.2019, 23:37
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A.Интересует возможное наличие последствий помимо эффектов грязного чтения. так там полный букет всех возможных эффектов параллелизма: грязные чтения, повторяющиеся чтения, фантомы. Вам сюда: https://docs.microsoft.com/ru-ru/sql/connect/jdbc/understanding-isolation-levels?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 02:01
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A.Собственно вопрос, в каких случаях в запросах оправданно использование конструкции with (nolock), а когда это может "выйти боком"?Оправданно, когда неважна корректность получаемых данных. Например, если тут один раз на миллиард чтений продублируется какой то пост, или, наоборот, не покажется, то это для сайта неважно. То есть оправданно применять для всяких обобщённых, несохраяемых, справочных, списков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 07:22
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
Спасибо! Меня также интересует следующий момент, правильно ли я понимаю, что запрос с with (nolock) на определенную таблицу блокирует изменение/удаление таблицы и ее индексов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 07:32
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A., Да, накладывает sch-s. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 09:06
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Плюс ко всем перечисленным прелестям, можно еще и получить ошибку "Could not continue scan with NOLOCK due to SQL Server data movement". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 11:22
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
invmПлюс ко всем перечисленным прелестям, можно еще и получить ошибку "Could not continue scan with NOLOCK due to SQL Server data movement". И еще плюс - это deprecated feature, не стоит привыкать к вредному https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016?view=sql-server-2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 11:27
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Ролг ХупинinvmПлюс ко всем перечисленным прелестям, можно еще и получить ошибку "Could not continue scan with NOLOCK due to SQL Server data movement". И еще плюс - это deprecated feature, не стоит привыкать к вредному https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016?view=sql-server-2017 стоит читать конкретно в каких случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 11:50
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
+такая штука https://blogs.msdn.microsoft.com/sqlserverstorageengine/2006/11/08/when-can-allocation-order-scans-be-used/ Из практики существует возможность при хинте NOLOCK получить совсем другой(не оптимальный) план выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 12:18
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A., скажем, такой сценарий: Вам срочно надо сделать запрос к боевой базе для сбора какой то статистики Вас устраивает погрешность "измерения" НО: если Вы своим запросом затормозите работу приложений, более чем XX секунд, это приведёт к немедленным жалобам на горячую линию В таких случаях я использую предварительную выборку части данных в tempdb (если это имеет смысл) with (nolock) option(maxdop 1) хоть, возможно, и буду подвергнут критике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 13:10
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
Вот 1С во всю юзает ноулок. Никто не умер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 13:15
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
L_argoВот 1С во всю юзает ноулок. Никто не умер. эталонная вещь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 15:43
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
L_argoВот 1С во всю юзает ноулок. Никто не умер. И самое главное никаких "Could not continue scan with NOLOCK due to SQL Server data movement" никогда не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 15:46
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
L_argoВот 1С во всю юзает ноулок. Никто не умер. и не сел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 18:08
|
|||
|---|---|---|---|
|
|||
with (nolock) - преимущества и недостатки |
|||
|
#18+
Michail A.Добрый день, уважаемые коллеги! Собственно вопрос, в каких случаях в запросах оправданно использование конструкции with (nolock), а когда это может "выйти боком"? Re: WITH(NOLOCK) - без него значительно быстрее. Странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.02.2019, 18:18
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
vitkhvL_argoВот 1С во всю юзает ноулок. Никто не умер. И самое главное никаких "Could not continue scan with NOLOCK due to SQL Server data movement" никогда не было. Это старейшая ошибка существовавшая ещё во времена 2000. Возникает при чтении NTEXT, NVARCHAR(MAX) и других блобов с NOLOCK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.03.2019, 14:50
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
a_voronin[ Это старейшая ошибка существовавшая ещё во времена 2000. Возникает при чтении NTEXT, NVARCHAR(MAX) и других блобов с NOLOCK В то и дело, что NTEXT использовался для текстовых полей неограниченной длинны в версиях 8.0 и 8.1, умевших еще работать с 2000 MSSQL. NVARCHAR(MAX) повсеместно используется с 8.2 и соответственно в 8.3 в новых релизах для текстовых полей неограниченной длинны. Но с ошибкой такой я никогда не сталкивался, хотя у 1С в отчетах все c WTIH(NOLOCK). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.03.2019, 20:10
|
|||
|---|---|---|---|
with (nolock) - преимущества и недостатки |
|||
|
#18+
vitkhva_voronin[ Это старейшая ошибка существовавшая ещё во времена 2000. Возникает при чтении NTEXT, NVARCHAR(MAX) и других блобов с NOLOCK В то и дело, что NTEXT использовался для текстовых полей неограниченной длинны в версиях 8.0 и 8.1, умевших еще работать с 2000 MSSQL. NVARCHAR(MAX) повсеместно используется с 8.2 и соответственно в 8.3 в новых релизах для текстовых полей неограниченной длинны. Но с ошибкой такой я никогда не сталкивался, хотя у 1С в отчетах все c WTIH(NOLOCK). Репо такое 1) В первом окне пускаете в цикле запрос, который вставляет и удаляет часть данных из таблицы c NVARCHAR(MAX) , чем больше блоб тем быстрее повторите или ещё лучше мердж 2) Во втором окне пускаете чтение этого поля (допустим SELECT-INSERT во временную таблицу или LIKE по этому блобу) с NOLOCK При параллельной работе таких двух сессий получите ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1688185]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 444ms |

| 0 / 0 |
