# 隔离级别 - 读未提交 - 未提交事务的修改可见 - 读提交 - 提交事务的修改可见 - 可重复读 - 事务启动时看到数据保持一致 - 串行化 - 阻塞执行 **用于解决的问题** - 脏读 - 读到未提交事务修改的数据 - 读提交解决此问题 - 不可重复读 - 在事务中多次读取数据不一致 - 可重复读解决此问题 - 幻读 - 多次查询符合某个条件的记录数不一致 - 串行化解决此问题 **具体实现** - 读未提交 - 每次读取最新数据 - 读提交 - 每个语句执行前 `Read View` - 可重复读 - 事务开始时 `Read View` - 串行化 - 加读写锁 **Read View** ![Read View](https://cdn.xiaolincoding.com/gh/xiaolincoder/ImageHost4@main/mysql/%E4%BA%8B%E5%8A%A1%E9%9A%94%E7%A6%BB/readview%E7%BB%93%E6%9E%84.drawio.png) 事务划分—— - 已提交事务 - `trx_id < min_trx_id` - 活跃事务 - `min_trx_id <= trx_id < max_trx_id` - 未开始事务 - `trx_id >= max_trx_id`