InnoDB怎么可能在一行上死锁?

时间:2015-12-08 20:04:09

标签: mysql concurrency locking innodb

根据The Good Word

  

InnoDB使用自动行级锁定。即使只是插入或删除单行的事务,您也可能会遇到死锁。那是因为这些操作并非真正的“原子”;它们会自动设置对插入或删除的行的(可能是几个)索引记录的锁定。

两个进程如何在单个记录上死锁?

1 个答案:

答案 0 :(得分:0)

因为两个进程在一个事务中持有完全相同的行(例如,像一个银行帐户),并且想要对其进行更改。

因此,在相同的银行帐户环境中,如果需要进行一次提款,则不会再进行另一次提款,因为您可能会遇到银行帐户第二次提款可能没有足够钱的情况。

这个想法是带有死锁的,就是要保持锁定时间尽可能短。