事务隔离级别

2020-04-04  本文已影响0人  Elvis_wty

mysql

事物基本要素ACID

原子性:事物要么全部提交成功,要么全部失败;

一致性:事物开始和结束,一致性约束没有破坏;约束A+B=1,如果A变了,B也要随之改变;

隔离性:同一时间,只允许一个事务对数据进行请求,事务之间不互相干扰;A从银行卡取钱,A取钱结束之前B不能对银行卡进行转钱。

持久性:事务完成后,事务对数据库的操作都将保存到数据库中,不能进行回滚。

事务并发问题

1、脏读:事务A读取事务B未提交的数据,然后事务B回滚了,事务A就产生了脏读。

2、不可重复读:事务A重复读取数据,事物B对数据进行了更新,导致事务A多次读取的数据不一致。

3、幻读:幻读和不可重复读类似,A对某个条件下的数据进行更新,这时候B又插入了一条数据,当A修改完数据后发现还有一条数据没有进行修改,幻读主要针对的是新增和删除数据,不可重复读主要针对的是修改数据。

mysql四种隔离级别

隔离级别 脏读 不可重复读 幻读
读未提交 read-uncommitted
读已提交 read-committed
可重复读 repeatable-read
串行化 serializable

mysql默认隔离级别 repeatable-read

上一篇 下一篇

猜你喜欢

热点阅读