mysql事务隔离级别回顾

事务隔离级别是针对读数据库数据的一种规则。事务隔离级别是数据库属性不是事务属性。

1.读未提交(read uncommited)

可以读到其他事务修改未提交的数据。(有 脏读,不可重复读,幻读)

事务A读到了事务B更新后但未提交的数据,然后事务B回滚,那么A刚才读到的数据就是脏数据,俗称脏读。

事务A读取两次,两次之间事务B更新了数据并提交,那么事务A前后读取的数据就会不一致,俗称不可重复读。

事务A更新一列然后查看,两次之间事务B插入了一条数据,那么事务A查看数据发现有未修改的一条记录,俗称幻读。

不可重复读现象和幻读现象类似。

2.读已提交(read commited)

只能读到其他事务操作已经提交的数据。事务内操作对其他事务不可见。(有 不可重复读,幻读)

该级别可以防止脏读,

3.可重复读(repeatable read)

事务A多次读取一条记录,期间有其他事务更新了该记录并提交,事务A前后读取的数据保持一致。(有 幻读)

4.串行化读(serialzable)

事务A读取数据的事务内,其他事务无法更新(新增、删除)表数据,避免幻读。

猜你喜欢

转载自www.cnblogs.com/mryangbo/p/10799421.html