MySQL 两阶段锁协议是什么?
两阶段锁(2PL):事务中所有加锁操作在解锁操作之前——扩展阶段(只加锁不解锁)+ 收缩阶段(只解锁不加锁)。InnoDB 实现:事务执行中遇到需要的记录逐步加锁(扩展),事务提交/回滚时统一释放(收缩)。作用:保证事务隔离性(基于锁的调度可串行化)。相关:两阶段提交(2PC)是分布式事务协议(prepare + commit 两阶段),与两阶段锁不同概念,注意区分。实践含义:事务中加锁越多越久,冲突概率越高——尽量缩短事务。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。