持续学习&持续更新中…
学习态度:守破离
【宋红康 MySQL数据库 】【高级篇】【18】锁
概述


MySQL并发事务访问相同记录

读-读

写-写







读-写 或 写-读

并发问题的解决方案



锁的不同角度分类

从数据操作的类型划分:读锁、写锁 (共享锁、排它锁)


锁定读
为读操作加锁也可以将锁设置为排它锁,只不过我们一般将其设置为共享锁。



写操作


从数据操作的粒度划分:表级锁、页级锁、行级锁

表锁

表级别的S锁、X锁














意向锁(Intention Lock)










自增锁(Auto-Inc)







元数据锁(MDL锁)




InnoDB中的行锁



记录锁(Record Locks)



间隙锁(Gap Locks)







临键锁(Next-Key Locks)

插入意向锁(Insert Intention Locks)





页锁

从对待锁的态度划分:乐观锁、悲观锁

悲观锁(Pessimistic Locking)





乐观锁(Optimistic Locking)






两种锁的适用场景


按加锁的方式划分:显示锁、隐式锁
隐式锁






显示锁

其他锁—全局锁

其他锁—死锁
概念



产生死锁的必要条件

如何处理死锁




如何避免死锁

锁的内存结构








锁监控



参考
尚硅谷宋红康: MySQL数据库(入门到高级,菜鸟到大牛).
本文完,感谢您的关注支持!