我想问几个关于Server锁定机制的问题
谢谢穆巴沙尔
发布于 2010-01-19 10:57:26
))。
我只会使用锁提示,如果你想要特定和某些行为,如queues或非阻塞(脏)读取。
更普遍地说,为什么您认为DB引擎在默认情况下不能执行您想要的操作?
发布于 2010-01-19 10:59:59
默认的锁定是行锁而不是页锁,尽管锁定机制的工作方式意味着您将在层次结构中的所有对象上放置锁,例如读取单个行将在表上放置一个共享锁,在页上放置一个共享锁,然后在该行上放置一个共享锁。
这使得请求表上独占锁的操作知道它可能还没有接受它,因为存在共享锁(否则它必须检查每一个页面/行是否有锁)。
但是,如果为单个查询发出过多的锁,则会执行锁升级,从而降低锁的粒度--也就是说,它可以管理较少的锁。这可以使用跟踪标志关闭,但我不会考虑它。
在您知道实际存在锁/锁升级问题之前,您可能会过早地优化一个不存在的问题。
https://stackoverflow.com/questions/2092846
复制相似问题