乐观锁:是一种设计思想,场景是读多写少,冲突少,用数据版本号解决一致性
悲观锁:是一种设计思想,场景是写多,冲突多,每次都加锁
共享锁:又称读锁,用法SELECT ... LOCK IN SHARE MODE;
排它锁:又称写锁,用法SELECT ... FOR UPDATE;
行锁:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为表锁。
表锁:改表默认会锁全表,可以用基于触发器的Online DDL工具gh-ost
End
本文深入解析数据库中的乐观锁、悲观锁、共享锁、排它锁、行锁和表锁的概念及应用场景,帮助读者理解不同锁机制的特点和使用场合。
乐观锁:是一种设计思想,场景是读多写少,冲突少,用数据版本号解决一致性
悲观锁:是一种设计思想,场景是写多,冲突多,每次都加锁
共享锁:又称读锁,用法SELECT ... LOCK IN SHARE MODE;
排它锁:又称写锁,用法SELECT ... FOR UPDATE;
行锁:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为表锁。
表锁:改表默认会锁全表,可以用基于触发器的Online DDL工具gh-ost
End
901
1097
4655

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