Я занимаюсь созданием веб-сайта и приложений, которые не являются критическими для бизнеса → например. банковское программное обеспечение, космический полет, приложение для мониторинга интенсивной терапии и т.д. Вы получаете идею.
Итак, с этим массовым отказом от ответственности, плохо ли с помощью подсказки NOLOCK в каком-то утверждении Sql? Несколько лет назад администратор Sql предложил, чтобы я использовал NOLOCK, если я доволен "грязным чтением", что даст мне немного больше производительности из моей системы, потому что каждое чтение не блокирует таблица/строка/независимо.
Мне также сказали, что это отличное решение, если я столкнулся с мертвыми замками. Итак, я начал следовать этой мысли в течение нескольких лет, пока гуру Sql не помог мне с каким-то случайным кодом и не заметил все NOLOCKS в моем sql-коде. Меня вежливо ругали, и он пытался объяснить это мне (почему это нехорошо), и я потерялся. Я чувствовал, что суть его объяснения заключается в том, что "это решение для групповой помощи для более серьезной проблемы... особенно если вы столкнулись с тупиковой ситуацией. По существу, исправить корень проблемы".
В последнее время я немного поработал над ним и наткнулся на этот пост.
Итак, может ли какой-нибудь sql db гуру сэнсэй, пожалуйста, просветить меня?