Mysql事务隔离级别

SQL 标准定义了四种隔离级别,MySQL 全都支持。这四种隔离级别分别是:

  • 读未提交(READ UNCOMMITTED)
  • 读提交 (READ COMMITTED)
  • 可重复读 (REPEATABLE READ)
  • 串行化 (SERIALIZABLE)

 

MySQL InnoDB 引擎才支持事务,MyISAM 引擎是不支持事务。

读提交是大多数流行数据库的默认事务隔离级别,如 Oracle,但不是 MySQL 的默认隔离界别;MySQL默认的隔离级别可重复读、。

读未提交和串行化基本上是不需要考虑的隔离级别,前者不加锁限制,后者相当于单线程执行,效率太差。

读提交解决了脏读问题,行锁解决了并发更新的问题。

MySQL 在可重复读级别解决了幻读问题,是通过行锁和间隙锁的组合 Next-Key 锁实现的。

原文地址:https://www.cnblogs.com/kaleidoscope/p/15006037.html