我在做網站和應用程序的業務是而不是任務關鍵 - >例如。銀行軟件,太空飛行,重症監護應用等等。你明白了。NOLOCK(Sql Server提示)不好的做法?
那麼,有了這種大規模的免責聲明,在某些Sql語句中使用NOLOCK提示是不是很糟糕?幾年前,Sql管理員建議我使用NOLOCK,如果我對「髒讀」感到滿意,這會讓我的系統性能提高一點,因爲每次讀取都不會鎖定表/行/不管。
我被告知,如果我遇到死鎖,這是一個很好的解決方案。所以,我開始關注這個想法幾年,直到一位Sql guru幫我一些隨機代碼,並注意到我的sql代碼中的所有NOLOCKS。我被禮貌地責罵,他試圖向我解釋(爲什麼它不是一件好事),我總是迷失方向。我覺得他的解釋的實質是「這是一個更嚴重問題的創可貼解決方案,尤其是如果你遇到了僵局。因此,解決問題的根源'。
我最近做了一些關於谷歌搜索,並跨越this post來了。
那麼,可以一些sql db guru sensei的請賜教嗎?
我不明白Sam,如果它是一個繁重的閱讀網站,請說使用快照隔離。但是,那麼你說這麼做,那很糟糕?或者只是使用NOLOCK? – 2009-09-21 11:47:14