Czy NOLOCK (wskazówka serwera Sql) jest złą praktyką?

Zajmuję się tworzeniem stron internetowych i aplikacji, które sąnie mission critical -> np. oprogramowanie bankowe, lot kosmiczny, aplikacja do monitorowania intensywnej opieki medycznej itp. Masz pomysł.

Czy więc przy tym ogromnym zastrzeżeniu jest źle, używając podpowiedzi NOLOCK w niektórych instrukcjach Sql? Kilka lat temu, inny administrator Sql zasugerował, że powinienem użyć NOLOCK, jeśli jestem zadowolony z „brudnego odczytu”, który da mi trochę więcej wydajności z mojego systemu, ponieważ każdy odczyt nie blokuje stół / rząd / cokolwiek.

Powiedziano mi również, że to świetne rozwiązanie, jeśli mam awarie. Zacząłem więc śledzić tę myśl przez kilka lat, dopóki guru Sql nie pomógł mi w losowym kodzie i zauważyłem wszystkie NOLOCKS w moim kodzie sql. Zostałem grzecznie skarcony, a on próbował mi to wyjaśnić (dlaczego to nie jest dobre) i trochę się zgubiłem. Czułem, że istotą jego wyjaśnień było „jest to rozwiązanie pomocy zespołowej dla poważniejszego problemu ... szczególnie, jeśli doświadczasz zakleszczenia. Jako taki ustal źródło problemu ”.

Niedawno zrobiłem kilka googli i natknąłem sięten post.

Więc, czy niektórzy sensei db guru sensei mogą mnie oświecić?

questionAnswers(12)

yourAnswerToTheQuestion