事务隔离级别

一、ISO和ANIS SQL标准制定了四种事务隔离级别的标准

  很少有数据库厂商遵循这些标准,如Oracle不支持READ UNCOMMITTED和REPAEATABLE READ的事务隔离级别。

  SQL标准定义的四个隔离级别:

  - READ UNCOMMITTED

  - READ COMMITTED

  - REPEATABLE READ

  - SERIALIZABLE

  READ UNCOMMITTED成为浏览访问(browse access),仅仅对事务而言。

  READ COMMITTED成为游标稳定(cursor stability)。

  REPEATABLE READ是2.9999°的隔离,没有幻读的保护。

  SERIALIZABLE成为隔离,或3°的隔离。

二、默认的隔离级别

  InnoDB存储引擎默认支持的隔离级别是REPEATABLE READ,在此事务隔离级别下,使用Next-Key Lock锁的算法,避免产生幻读。这与其他数据库系统不同。所以说,InnoDB存储引擎在默认是REPEATABLE READ的事务隔离级别下已经完全保证事务的隔离性要求,即达到SQL标准的SERIALIZABLE隔离级别。

  SQLServer默认的事务隔离级别READ COMMITTED

  Oracle默认的事务隔离级别READ COMMITTED

posted @ 2019-06-23 16:02  hyunbar  阅读(235)  评论(0编辑  收藏  举报