🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 事务没有隔离引发的问题 #### 脏读 > `脏读`指一个事务读取了另外一个事务未提交的数据。 #### 不可重复度 > `不可重复读`指在一个事务内读取表中的某一行数据,多次读取结果不同。 不可重复读和脏读的区别是,脏读是读取前一事务未提交的脏数据,不可重复读是重新读取了前一事务已提交的数据。 #### 幻读 > `幻读(虚读)`指在一个事务内读取到了别的事务插入的数据,导致前后读取不一致。 ### 隔离级别 #### Read Uncommitted 读未提交 > `读未提交`:隔离级别最低的一种事务级别。在这种隔离级别下,会引发脏读、不可重复读和幻读。 #### Read Committed 读已提交 > `读已提交`读到的都是别人提交后的值。这种隔离级别下,会引发不可重复读和幻读,但避免了脏读。 #### Repeatable Reads 可重复读 > `可重复读`这种隔离级别下,会引发幻读,但避免了脏读、不可重复读。(mysql 默认隔离级别) 【保证binlog串行化】 #### Serializable 串行化 > `串行化`是最严格的隔离级别。在Serializable隔离级别下,所有事务按照次序依次执行。脏读、不可重复读、幻读都不会出现。