
全局锁:全局锁的典型使用场景是,MyISAM等数据库引擎做全库逻辑备份。InnoDB数据库引擎备份时只需开启事务,不用开全局锁,利用MVCC就能保证此过程中数据可正常读写.
表级锁:表锁手动开启和关闭.元数据锁(MDL)不需要显式使用.当对一个表做增删改查操作的时候,加 MDL读锁;当要对表做结构变更操作的时候,加 MDL 写锁.
行锁:InnoDB支持行锁,若事务A更新了一行数据,但事务A未提交.则事务B也想更新这行数据时,需要先等待事务A提交,会进入阻塞状态.
本文深入解析数据库中的三种锁机制:全局锁、表级锁及行锁。全局锁用于全库逻辑备份;表级锁手动控制,涉及元数据锁(MDL)的自动应用;行锁在InnoDB中实现,确保事务并发时的数据一致性。

全局锁:全局锁的典型使用场景是,MyISAM等数据库引擎做全库逻辑备份。InnoDB数据库引擎备份时只需开启事务,不用开全局锁,利用MVCC就能保证此过程中数据可正常读写.
表级锁:表锁手动开启和关闭.元数据锁(MDL)不需要显式使用.当对一个表做增删改查操作的时候,加 MDL读锁;当要对表做结构变更操作的时候,加 MDL 写锁.
行锁:InnoDB支持行锁,若事务A更新了一行数据,但事务A未提交.则事务B也想更新这行数据时,需要先等待事务A提交,会进入阻塞状态.
280
222
290
216

被折叠的 条评论
为什么被折叠?