mysql事务隔离级别回顾
Posted mryangbo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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读取数据的事务内,其他事务无法更新(新增、删除)表数据,避免幻读。
以上是关于mysql事务隔离级别回顾的主要内容,如果未能解决你的问题,请参考以下文章