diff --git a/03.数据库/01.Mysql.md b/03.数据库/01.Mysql.md index 5d261fc..e4a99e9 100644 --- a/03.数据库/01.Mysql.md +++ b/03.数据库/01.Mysql.md @@ -2422,6 +2422,15 @@ transaction_isolation=read-commit #修改隔离级别为RC ``` +| 隔离级别 | 英文缩写 | 解决的问题 | 存在的问题 | InnoDB 实现方式 | 并发性能 | 适用场景 | +| :----------: | :------: | :----------------------: | :--------------------: | :-----------------------------: | :------: | :--------------------------: | +| 读未提交 | RU | 无 | 脏读、不可重复读、幻读 | 无锁,直接读最新版本 | 最高 | 无生产场景,临时查询 | +| 读已提交 | RC | 脏读 | 不可重复读、幻读 | 快照读(MVCC)+ 行级锁 | 较高 | 一致性一般、并发要求高的场景 | +| **可重复读** | **RR** | 脏读、不可重复读、幻读 * | 无(InnoDB 优化) | 快照读(MVCC)+ 行级锁 + 间隙锁 | **中等** | **绝大多数生产业务系统** | +| 串行化 | S | 所有并发问题 | 无 | 表级锁,事务串行执行 | 最低 | 一致性极高、无并发需求的场景 | + +> 注 *:SQL 标准中 RR 未解决幻读,**InnoDB 通过 Next-Key Lock 彻底解决幻读**。 + # 14. MySQL日志管理 ## 14.1 日志简介