【MySQL】深度理解事务的隔离性:全面讲解事务的四种隔离级别

**前言:**上节内容我们主要说了如果没有设置保存点, 也可以回滚,但是只能回滚到事务的开始。直接使用rollback的前提是事务还没有提交。并且如果一个事务被提交了,就不可以回退。同时我们也可以使用savepoint设置回滚点。 可以自己选择想要回滚到的位置。同时最后我们也提到了,InnoDB支持事务, 但是MyISAM不支持事务。 这节就将更深入的使用事务。 看一下事物的特性——隔离性。下面友友们开始学习吧!

ps:本节内容建议友友们能够知道最基本的事务操作在观看哦。

目录

事务的隔离性

如何理解隔离性

隔离级别

?隔离试验示例

如何查, 设置mysql的隔离界别

读未提交

?编辑

读提交?

?可重复读

串行化


事务的隔离性

要理解隔离性, 我们就要知道什么叫做隔离性, 什么叫做隔离级别, 为什么会有这么多隔离级别。

如何理解隔离性

首先我们要知道, mysql在启动后, 一定会被多个客户端并发的访问。另外,我们可以向mysql同时发送多个事务, 对于我们上层来说,这些事务一定有执行前, 执行中, 执行后。一旦执行中出现问题, 就会发生回滚。所以单个事务,对用户表现出来的特性, 就是原子性。

而且, 多个事务执行的时候, 可能会互相影响。比如同时访问一张表, 同时修改一张表。所以, 在数据库当中,为了保证事务之间尽量互不干扰,就有了一个重要的特性——隔离性。

数据库中,允许事务收到不同程度的干扰, 这个就叫做隔离级别。

那么我们用一个故事来谈一谈数据的隔离性。

如果两个人都在同时访问数据库。 这两个人都开启了事务。 但是一个人想要update, 一个人想要select。 那么请问是update先跑呢, 还是select先跑呢? ——有人会说让update先跑, 因为我们要确定我们看到的是最新的。 ——这种说法是错误的。

为什么错误。 就可以这么来看——就比如一个小孩出生, 假如这个小孩是00后。 他的父母是70后, 80后。 那么这个小孩是不是需要关注他的父母从出生到生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值