一、READ UNCOMMITTED(未提交读)

    在READ UNCOMMITTED级别,事务中的修改,即使未提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也被称为脏读( Dirty READ )。这个级别会导致很多问题。从性能上来说,READ UNCOMMITTED不会比其他级别好太多,但是缺乏其       他级别的很多好处,除非真的有非常必要的理由,否则在实际开发中,一般很少使用。

  

  二、READ COMMITTED(提交读)

    大多数数据库系统默认的隔离级别都是READ COMMITTED,但是MySQL不是。READ COMMITTED满足个理性的简单定义:一个事务开始时,只能“看见”已经提交的事务所作的修改。换句话说,一个事务在开始到提交之前,所做的任何修改对其它事务是不       可见的。这个级别有时候也叫不可重复读(nonrepeatable),因为两次执行同样的查询,可能会得到不同的查询结果。

  三、REPEATABLE READ(可重复读,MySQL默认隔离级别)

    这个是MySQL默认的隔离级别。REPEATABLE READ解决了脏读的问题。该级别保证了在同一个事务中多次读取同样记录的结果是一致的。但是在理论上,REPEATABLE READ隔离级别无法解决另外一个幻读(Phantom Read)的问题。所谓幻读,指的是当        某个事务在读取某个范围内的记录时,另外一个事物又在该范围内插入了新的记录。当之前的事务再次读取该范围内的记录时,会产生幻行(Phantom Row)。InnoDB和XtraDB存储引擎通过多版本冰法控制(MVCC,  Multiverson Concurrency Control)解决了幻        读问题。

  四、SERIALIZABLE(可串行化)

    SERIALIZABLE是最高的隔离级别。他通过强制事务串行执行,避免了前面说的幻读问题。简单来说,SERIALIZABLE会在读取的每一行数据上都加锁,所以可能导致大量的超时和锁争用问题。实际应用中也很少用到这个隔离级别,只有在非常需要全确保数         据的一致性而且可以接受没有并发的情况下,才考虑采用该级别。

                                                    表格归纳如下:

ANSI  SQL隔离级别
隔离级别 脏读可能性 不可重复读可能性 幻读可能性 加锁度
 READ UNCOMMITTED  YES     YES  YES  NO 
READ COMMITTED  NO   YES  YES NO 
 REPEATABLE READ NO  NO  YES  NO 
 SERIALIZABLE NO   NO  NO  YES

   
 

mysql的四种隔离级别的更多相关文章

  1. mysql事务四种隔离级别

    事务的基本要素:原子性,一致性,隔离性,持久性. 事务并发问题:脏读,不可重复读,幻读. mysql隔离级别:read-uncommitted,read-committed,repeatable-re ...

  2. MySQL 四种隔离级别

    什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...

  3. MySql四种隔离级别

    什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...

  4. 面试问烂的 MySQL 四种隔离级别,看完吊打面试官!

    阅读本文大概需要 5.6 分钟. 来源:网络 什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操 ...

  5. MySQL 四种隔离级别详解,看完吊打面试官

    转发链接:https://zhuanlan.zhihu.com/p/76743929 什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就 ...

  6. MySQL面试题--常见的四种隔离级别

    什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事务的结束有 ...

  7. MySQL 的 4 种隔离级别,你了解么?

    1.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做.事务的结束 ...

  8. 【转载】mysql 四种隔离级别分析

    sql标准中,有四种隔离级别,各个离级别都有各自的规则,隔离级别越低,允许并发越大,消耗的资源越少,但是越不安全,下面就mysql数据库来分别介绍一下(每个存储引擎实施的隔离级别会有稍微的不同)mys ...

  9. SQL事务的四种隔离级别和MySQL多版本并发控制

      SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的那些改变时可见的,那些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. ReadUncommitted( ...

随机推荐

  1. 每天一点css3聚沙成塔(一):transition

    transition 语法: transition:[ transition-property ] || [ transition-duration ] || [ transition-timing- ...

  2. 几项有用的JQUERY代码

    检测IE浏览器 在进行CSS设计时,IE浏览器对开发者及设计师而言无疑是个麻烦.尽管IE6的黑暗时代已经过去,IE浏览器家族的人气亦在不断下滑,但我们仍然有必要对其进行检测.当然,以下片段亦可用于检测 ...

  3. wifi智能插座 一键扫描局域网内插座Ip及其它信息 Python源代码API

    转载请保留原地址. http://www.cnblogs.com/lsqandzy 最近买了几个智能插座玩,插座安装在家里,连接好wifi,不管你人在哪里,通过手机,一键开启或关闭插座电源,想象一下, ...

  4. 最大连续子序列(HDU 1231 DP)

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  5. 美国政府关于Google公司2013年度的财务报表红头文件

    请管理员移至新闻版块,谢谢! 来源:http://www.sec.gov/ 财务报表下载↓ 此文仅作参考分析. 10-K 1 goog2013123110-k.htm FORM 10-K   UNIT ...

  6. 解决 setOnItemClickListener,setOnScrollListener与setOnTouchListener事件冲突问题

    代码案例如下: lvXxsdMore.setOnItemClickListener(xxsdMoreListener); //对listView 注册onclick事件 lvXxsdMore.setO ...

  7. javascript调试

    今天,发现了一个之前从未注意的角落,相信能够大大提高自己写JS的速度.能够迅速发现错误. 例如,今天的加班中调试一个js错误发现的一个例子. 1.Google浏览器报的错 以上是google浏览器报的 ...

  8. jprofiler安装和配置

    转:http://www.cnblogs.com/adolfmc/archive/2013/06/09/3129358.html 注意:安装前先用rpm -q jprofiler查询linux上是否已 ...

  9. linux 挂载 镜像文件

    挂接命令(mount) 命令格式: mount [-t vfstype] [-o options] device dir 其中: 1.-t vfstype指定文件系统的类型,通常不必指定.mount会 ...

  10. IA32与x86

    64位机器相比于32位优点 ①访问虚拟地址范围更大 ②更多的寄存器 ③过程较简单 ④采用条件传送指令 详细看:http://baike.baidu.com/link?url=DoRp7iW_z3cE6 ...