乐观锁:是一种设计思想,场景是读多写少,冲突少,用数据版本号解决一致性
悲观锁:是一种设计思想,场景是写多,冲突多,每次都加锁
共享锁:又称读锁,用法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