事务隔离级别

来源:互联网 发布:艾瑞网怎么查数据 编辑:程序博客网 时间:2024/05/01 11:59

         数据库系统提供了四种事务隔离级别供用户选择。不同的隔离级别采用不同的锁类型来实现。Serializable的隔离级别最高,Read Uncommited的隔离级别最低。大多数数据库默认的隔离级别为 Read Commited,如sql server。也有不少数据库的默认隔离级别为Repeatable Read,如mysql。


      Read Uncommited : 读 未提交的数据(会出现脏读,不可重复读,幻读)

      Read Commited    :    读已提交的数据(会出现不可重复 和 幻读)

      Repeatable Read  : 可重复读(会出现幻读)

      Serializable           :    串行化


      脏读: 一个事务读取到另外一个事务未提交的更新数据。

      不可重复读: 在同一个事务中,多次读取同一数据返回的结果有所不同。后续操作可以读取到另外一个事务已经提交的更新数据。相反,可重复读,在同一个事务多次读取数据时,能够保证所读取数据是一致的。也就是说后续读取不能读到另外一个事务已提交的更新数据。

      可重复读 一般 通过 快照实现。

      幻读:一个事务读取到另外一个事务已提交的insert数据。一般对幻读不要求处理。

原创粉丝点击