Mysql四种事务隔离级别(简易理解)

  1. 读未提交:简单理解就是读到没有提交事务的执行结果;
  2. 读已提交:简单理解就是只能读到已经提交的事务执行结果;
  3. 可重复读:简单理解就是确保并发读取数据库时,读到的数据一致,这是mysql默认隔离级别;
  4. 可串行化:简单理解就是通过强制事务排序,使之不可能互相冲突,从而解决幻读问题

上述四种隔离级别,层层递进,级别越来越高。那么以上四种隔离级别分别会出现什么问题呢?

读未提交脏读不可重复读幻读
读已提交不可重复读幻读
可重复读幻读
可串行化

表格中大家也看到了,四种隔离界别分别会出现的问题,那么可能有兄弟们会问,我应该怎么理解记忆呢?

因为在我刚接触的时候也是不容易记住,接下来我就简单阐述一下我的理解过程。

首先,我们需要对脏读不可重复读以及幻读的概念需要理解。

脏读:就是读到了没有提交的事务执行结果。

因为在数据库中我们可以手动改提交事务,如果设置了手动提交事务,那么在我们执行了一条sql语句没有提交事务时,当有一个事务读数据时就会出现读到未提交的事务执行结果,这就是脏读。大家可以这样理解,就是明明没有的数据我读到了,在我这里很嫌弃,很脏。

不可重复读:就是两次的读操作,读到的数据不一致。

不可重复读的概念可以和可重复的隔离界别概念一起理解,可重复读的含义就是两次读的数据一致,所以叫可重复读。就是因为两次读的数据一致,我才可重复读呀。不可重复就反之,两次读的数据不一致。请注意不可重复读的影响是行级别的,就是说只能影响一行数据是否一致而已,注意区分影响表级别。

幻读:就是两次的读操作,读到的数据列不一致。

和不可重复读概念相似,只是影响级别是表级别的。

这样的话,大家就理解了吧。 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值