MySQL 中的行锁、两阶段锁协议以及死锁
一、行锁和两阶段锁协议 行锁:顾名思义,就是对某一行加锁,修改的时候不会锁住整个表。相对于表锁来说,行锁的开销更大 (因为涉及到 MVCC 等需要保存快照),但是粒度更小,更适合于高并发场景。行锁是每个引擎单独实现的,但是并不是所有的引擎都实现了行锁。例如 MyISAM 就没有实现行锁,它只支持表锁,而 Inn ... 阅读更多
一、行锁和两阶段锁协议 行锁:顾名思义,就是对某一行加锁,修改的时候不会锁住整个表。相对于表锁来说,行锁的开销更大 (因为涉及到 MVCC 等需要保存快照),但是粒度更小,更适合于高并发场景。行锁是每个引擎单独实现的,但是并不是所有的引擎都实现了行锁。例如 MyISAM 就没有实现行锁,它只支持表锁,而 Inn ... 阅读更多