数据库死锁是生活中的事实吗?

时间:2010-08-26 13:27:21

标签: sql database

我们都知道防止数据库死锁的技术 - 以相同的顺序获取锁等等。但是在某些时候,处于压力下的系统可能只是在这里和那里遭受死锁。我们是否应该接受这一点,并始终准备在发生僵局时重试或者应该将死锁视为绝对禁止,并且我们应该尽一切力量阻止它们吗?

3 个答案:

答案 0 :(得分:6)

答案是肯定的。

你应该尽一切力量来阻止他们,但你是否会对你使他们变得不可能感到满意?

答案 1 :(得分:1)

尽一切力量阻止他们,并准备好在他们发生时重试。 :)

请记住,“尽力掌握一切”可能意味着排队批量更新,插入临时表,然后将它们合并到主表中以及其他非平凡的技术。请务必检查您的事务隔离级别和锁定升级策略。

答案 2 :(得分:0)

这可能会被关闭,但世界正趋向NoSQL解决这个问题的方法,打破问题,以便数据源不需要保证一致性,这意味着不需要锁。

Facebook就是一个很好的例子,当每个人都看到你的更新,或者世界各地的不同用户看到你的个人资料的不同版本时,这并不重要。只要更新有效或最终失败,这就足够了。