mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

默认情况下,数据库是不允许事务之间读取相互的临时数据的,为了一些业务需求,我们需要允许事务之间能读取临时数据的,故设置事务的隔离级别,结合业务场景才能理解这四个隔离级别。这四个隔离级别没有一个是万能的

mysql数据库的事务机制(难点)

场景一:A、B 2人购买车票同时看见了一个靠窗的位子,A下购买但没有提交事务,B后购买先提交事务,最后A提交的时候出现失败,很影响购票体验。

 

mysql数据库的事务机制(难点)

这种场景就需要一个事务能读取另一个事务的临时状态,设置事务隔离级别是当前会话的。

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

场景二:银行转账只能读取其他事务提交的数据,不能读取其他事务没有提交的数据,当A给账户充钱,B使用该账户花钱,按说账户余额是5900元,但是B突然回滚事务,不花了,最后账户余额是6000元。

mysql数据库的事务机制(难点)

 

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

场景三:一个买家在淘宝下单了,结果商家涨价了,购买商品肯定以事务开始之前的价格买到

去查询的undo日志数据

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

 

场景四:序列化很少使用的,前一个事务不提交,另一个事务不能执行

mysql数据库的事务机制(难点)

mysql数据库的事务机制(难点)

在测试的时候只有提交了,才能还原数据

 

通过案例来学习事务,比记哪些术语要好很多,什么脏读、幻读。。。

mysql默认的隔离级别的认知,mysql默认的隔离级别为repeatable read