The*_*Guy 2 mysql innodb locking mvcc
据我了解 InnoDB 支持
行级锁定
锁定用于当多个作者试图更新相同的行时。一次只有一个作者可以更新一行,第一个更新行的人会锁定它,直到他们提交更改。其他作家必须等到第一个作家提交。但至少对于行级锁定,它们只有在更新同一行时才会发生争用。
读锁可用于防止其他用户读取正在更新的记录(或页面),以便其他用户不会对即将过时的信息采取行动。
多版本并发控制
作家不会阻止读者
读者不会屏蔽任何人,也不会被任何人屏蔽。
这两者是相反的。
我的问题是:锁定或 mvcc 何时发生?我需要在哪里指定数据库应该使用哪一个?
MVCC 适用于已提交读和可重复读的隔离级别(默认)。
您无需为这两个功能指定任何内容即可协同工作。也许一种思考方式是,行级锁定很重要,因此您可以一次更新多行,而 MVCC 则使更新根本不会影响读取操作。