并发事务问题
不可重复读 & 幻读 区别
| 不可重复读 | 幻读 | |
|---|---|---|
| 针对数据量 | 1 | n |
| 操作 | update / delete | insert |
各个隔离级别
各个隔离级别对比
| 隔离级别 | 读一致性 | 解决脏读 | 解决不可重复读 | 解决幻读 |
|---|---|---|---|---|
| 读未提交( Read Uncommitted ) | × | × | × | |
| 读已提交( Tead committed ) | 语句 | √ | × | × |
| 可重复读( Repeatable Read ) | 事务 | √ | √ | ×(InnoDB 中 √) |
| 串行化( Serializable ) | 事务 | √ | √ | √ |
因此常使用 InnoDB + Repeatable Read 配置数据库
查看隔离级别
show variables like 'tx_isolation';