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