我最近接手了一个应用程序,几乎每个查询(还有很多)都有nolock选项.现在我对sql服务器很熟悉(使用Oracle 10年),但是我觉得这非常令人不安.所以这个周末,我正在和一个经营一个相当大的电子商务网站的朋友交谈(名字将被保留以保护有罪),他说他必须用他所有的sql服务器来做这件事,因为他总是会陷入僵局.
这是sql Server的一个很大的短暂下降吗?这只是DB设计中的一个失败(我的不是第三级,但是它的关闭)有没有人在那里运行没有nolock的sql服务器应用程序?这些是Oracle处理更好的更多的grandulare记录锁的问题.
sql Server是不是无法处理大负载?有没有更好的解决方法,比阅读未通用的数据?我很想听听人们的想法.
谢谢
解决方法
从书籍在线
When the READ_COMMITTED_SNAPSHOT database option is set ON,read committed isolation uses row versioning to provide statement-level read consistency. Read operations require only SCH-S table level locks and no page or row locks. When the READ_COMMITTED_SNAPSHOT database option is set OFF,which is the default setting,read committed isolation behaves as it did in earlier versions of sql Server. Both implementations meet the ANSI definition of read committed isolation.