InnoDb事物的几个特性总结

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...

你可能感兴趣的:(innodb,mysql)