A prática do NOLOCK (Sql Server hint) é ruim?

Eu estou no negócio de fazer site e aplicativos que sãonão missão crítica -> por exemplo. software bancário, vôo espacial, aplicação de monitoramento de cuidados intensivos, etc. Você começa a idéia.

Então, com esse aviso de isenção massivo, é ruim usar a dica NOLOCK em alguma declaração Sql? Alguns anos atrás, foi sugerido por um colega do Sql Administrator que eu deveria usar o NOLOCK se estou feliz com uma "leitura suja" que me dará um pouco mais de desempenho do meu sistema, porque cada leitura não bloqueia o tabela / linha / qualquer coisa.

Também me disseram que é uma ótima solução se estou com bloqueios. Então, eu comecei a seguir esse pensamento por alguns anos até que um guru Sql estava me ajudando com algum código aleatório e notei todas as NOLOCKS no meu código sql. Eu fui educadamente repreendido e ele tentou explicar para mim (porque não é uma coisa boa) e eu meio que me perdi. Eu senti que a essência de sua explicação era "é uma solução de band-aid para um problema mais sério ... especialmente se você está enfrentando deadlocking." Como tal, corrija a raiz do problema '.

Eu fiz alguns googling recentemente sobre isso e me depareiesta postagem.

Então, é possível que alguns especialistas em gurus do sql db me esclarecem?

questionAnswers(12)

yourAnswerToTheQuestion