mysql核心04:事务和事务隔离等级

事务的4个基本属性 ACID

https://draveness.me/mysql-transaction

原子性

事务其实就是并发控制的基本单位;

相信我们都知道,事务是一个序列操作,其中的操作要么都执行,要么都不执行,它是一个不可分割的工作单位;

不可分割的工作单位;

持久性

而事务的持久性就体现在,一旦事务被提交,那么数据一定会被写入到数据库中并持久存储起来。

隔离性

https://draveness.me/mysql-innodb

一致性

举例:银行内转账,要保证银行存款总量不变。

事务的隔离等级

https://draveness.me/mysql-innodb

4个隔离等级
read uncommitted
read committed
repeatable read
serializable

设置隔离等级是 read uncommitted,无法避免脏读发生;

设置隔离级别是 read committed,成功避免了脏读,但是还存在不可重复度的问题;

设置隔离级别是 repeatable read,成功的避免了脏读,不可重复读,但是还有幻读的问题存在;

设置隔离级别是serializable,可以解决幻读的问题。

mysql核心04:事务和事务隔离等级_第1张图片
脏读.png
mysql核心04:事务和事务隔离等级_第2张图片
不可重复读.png
mysql核心04:事务和事务隔离等级_第3张图片
幻读.png
mysql核心04:事务和事务隔离等级_第4张图片
next-key锁.png

你可能感兴趣的:(mysql核心04:事务和事务隔离等级)