MySQL表锁和Next-Key lock的行锁有什么区别?



MySQL表锁和Next-Key lock的行锁有什么区别?

简单地说,表锁将锁定整个表记录,而行锁只锁定单个记录。但是在innodb的行锁有树算法,Next-Key lock将锁定记录本身和每条记录之间的记录。在我看来,这与表锁没有什么区别。

两种锁之间有什么区别吗,经过我的测试,innodb行锁默认算法是Next-Key lock,有任何配置可以指定行锁的算法吗?

InnoDB很少做"表锁"这样的事情。主要的例外与DDL语句(ALTER,DROP TABLE等)有关

InnoDB喜欢锁定单个行。它甚至可以锁定表中的所有行,从而具有表锁的效果。

它还可以执行"gap lock";为了防止其他连接,例如,在两个相邻的现有键之间插入带有键的行。

相关内容

  • 没有找到相关文章

最新更新