数据库的隔离

数据库的隔离级别有哪些?

  • 未提交读:一个事务在提交前,它的修改对其他事务也是可见的。
  • 提交读:一个事务提交之后,它的修改才能被其他事务看到。
  • 可重复读:在同一个事务中多次读取到的数据是一致的。
  • 串行化:需要加锁实现,会强制事务串行执行。

数据库的隔离级别分别可以解决数据库的脏读、不可重复读、幻读等问题。

隔离级别脏读不可重复读幻读
未提交读 允许 允许 允许
提交读 不允许 允许 允许
可重复读 不允许 不允许 允许
串行化 不允许 不允许 不允许

MySQL的默认隔离级别是可重复读。

隔离级别是如何实现的?

事务的隔离机制主要是依靠锁机制和MVCC(多版本并发控制)实现的,提交读和可重复读可以通过MVCC实现,串行化可以通过锁机制实现。

posted @ 2021-01-07 14:59  墨色涵烟  阅读(96)  评论(0编辑  收藏  举报