zoukankan      html  css  js  c++  java
  • 【数据库】SQL标准定义的四个事务隔离级别

    SQL 标准定义的四个事务隔离级别为:
    1.Read Uncommitted ( 未提交读 )

    可以读取其它事务修改但未提交的数据,但是会导致“脏读”、“幻读”和“不可重复读取”。

    2.Read Committed (提交读)

    只能读取其它事务修改并已经提交的数据。避免了“脏读取”,但不能避免“幻读”和“不可重复读取”。提交读是大多数主流数据库的默认事务等级。

    3.Repeatable Read (可重复读)

    锁定已经读取的数据,当前事务提交前其它事务不允许修改。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。

    4.Serializable (可串行化)

    读取前锁定所有要读取的数据,当前事务提交前,其它事务不允许修改。最严格的级别,事务串行执行,资源消耗最大。

    脏读:所谓的脏读,其实就是读到了别的事务回滚前的脏数据。比如事务B执行过程中修改了数据X,在未提交前,事务A读取了X,而事务B却回滚了,这样事务A就形成了脏读。

    不可重复读:事务A首先读取了一条数据,然后执行逻辑的时候,事务B将这条数据改变了,然后事务A再次读取的时候,发现数据不匹配了,就是所谓的不可重复读了。

    幻读:事务A首先根据条件索引得到N条数据,然后事务B改变了这N条数据之外的M条或者增添了M条符合事务A搜索条件的数据,导致事务A再次搜索发现有N+M条数据了,就产生了幻读。

  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/badboy200800/p/12860162.html
Copyright © 2011-2022 走看看