什么是数据库中的死锁?

sql server中的死锁是什么时候出现的?死锁有什么问题以及如何解决? 解决方法 通常,死锁意味着两个或更多实体阻塞某些源,并且它们都不能完成,因为它们以循环方式阻塞源. 一个例子:假设我有表A和表B,我需要在A中进行一些更新,然后B和我决定在使用时锁定它

sql server中的死锁是什么时候出现的?死锁有什么问题以及如何解决?

解决方法

通常,死锁意味着两个或更多实体阻塞某些源,并且它们都不能完成,因为它们以循环方式阻塞源.

一个例子:假设我有表A和表B,我需要在A中进行一些更新,然后B和我决定在使用时锁定它们(这是非常愚蠢的行为,但它现在用于它的目的) .在同一时刻,其他人以相反的顺序做同样的事情 – 首先锁定B,然后锁定A.

按时间顺序,会发生这种情况:

proc1:锁定A.
proc2:锁定B.

proc1:锁定B – 开始等待,直到proc2释放B
proc2:锁定A – 开始等待,直到proc1释放A.

很明显他们都不会完成.那是僵局.

洞更深入,但这只是入口,如果您需要了解更多,请投入时间.在我们的大学里有关于这一点的全部讲座 – 所以不要认为阅读一些文章会让你成为专家;-)

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐