1:InnoDb 的四个个性:一致性、原子性、持久性、隔离性
2:事物的隔离级别:可反复读、读已提交、读未提交、串行化
3:查看以后的事物隔离级别
show varibles like "transaction-isolation'
4:幻读:幻读是一个事物在事物开始中,两次 select 查问的后果不始终,这产生的幻读。幻读存在的隔离级别有 R-U R-C R-R。
5:幻读的解决办法:在 RR 的隔离级别下,咱们对记录手动加上 X 锁的办法打消幻读(在 Innodb 的行锁锁定的是这个索引,估在记录实体存在与否没有关系,存在就在 X 锁,不存在就加 next-key lock/ 间隙锁),其余事物则无奈插入此索引记录,防止幻读)
5:共享锁(shared):又称为 S 锁,读锁。一个事物对数据对象 O 记上 S 锁,能够对 O 进行读取操作,然而不能进行更新操作。加锁期间其余事物能对 o 加 s 锁,然而能加 X 锁
6:排他锁(Exclusive):又称为 X 锁,写锁。一个事物对数据 0 加上 X 锁,就能够对 O 进行读取和更新。加上期间其余事物不能对 0 加任何锁。
参考文档:https://juejin.cn/post/684490…
https://segmentfault.com/a/11…