4种事务的隔离级别,InnoDB如何巧妙实现?

  1. 云栖社区>
  2. 阿里云MVP>
  3. 博客>
  4. 正文

4种事务的隔离级别,InnoDB如何巧妙实现?

初商 2019-08-09 22:28:57 浏览135
展开阅读全文

事务ACID特性,其中I代表隔离性(Isolation)。

什么是事务的隔离性?

隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。

一个事务怎么会干扰其他事务呢?

咱们举例子来说明,假设有InnoDB表:

t(id PK, name);

表中有三条记录:

1, shenjian

2, zhangsan

3, lisi

case 1

事务A,先执行,处于未提交的状态:

insert into t values(4, wangwu);

事务B,后执行,也未提交:

select * from t;

如果事务B能够读取到(4, wangwu)这条记录,事务A就对事务B产生了影响,这个影响叫做“读脏”,读到了未提交事务操作的记录。

case 2

事务A,先执行:

select * from t where

网友评论

登录后评论
0/500
评论
初商
+ 关注
所属云栖号: 阿里云MVP