一、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. jquery的使用 超级快速入门 熟练使用

    如何使用jquery,首先需要引入jquery的js库文件,可以是免费的cdn资源,也可以是本地下载的资源 使用方法:$(function(){                  这里面写你要执行的代 ...

  2. 关于mysql中数据存储复合树形结构,查询时结果按树形结构输出

    1.主要思想:根据已有数据,规则性的造数据 select * FROM(select lId,strName,lId as lParentId,-1 as orderIdx from tbClassi ...

  3. 【转】nginx之主配置文件:root和alias

    nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应.root与alias主要区别在于nginx如何解释location后面的uri ...

  4. postgresql的psql命令

    1:不进入数据库而执行SQL命令,用参数-c 2:把SQL命令保存在一个外部文件中,用 -f 参数导入并执行 a1.txt文件内容 select * from student; 在shell中用如下命 ...

  5. ASP.NET MVC 4.0 学习5-ActionResult

    一,Controller簡介 Controller擔任了資料傳遞的角色,負責流程控制,決定存取哪個Model以及決定顯示哪個View頁面,即ASP.NET MVC中有關於『傳遞』的任務皆由Contro ...

  6. MVC WEB api 自动生成文档

    最近在一直在用webapi做接口给移动端用.但是让我纠结的时候每次新加接口或者改动接口的时候,就需要重新修改文档这让我很是苦恼.无意中发现.webapi居然有自动生成文档的功能....真是看见了救星啊 ...

  7. Android自学学习资料

    最近在自学Android编程,在网上看了一些博客和视频教程,觉得比较好的分享一下,继续学习,gangbade~ 国外android官网总是出现连不上的情况,如果你不想FQ的话,这里github上可以直 ...

  8. LINUX SSH客户端的中文乱码问题

       原因在于文件/etc/sysconfig/i18n 这个文件是系统的区域语言设置, i18n是 国际化internationalization的缩写 i和n之间正好18个字母 解释: LANG= ...

  9. BZOJ 1458 士兵占领

    http://www.lydsy.com/JudgeOnline/problem.php?id=1458 题意:n x m的棋盘,k个位置不能放,每行和每列都有要求至少的士兵,求能否有最少的满足条件的 ...

  10. 电子工程师名片——SPI NOR Flash

    使用了MX25L512的SPI接口的Flash 电路连接图: 总的大小512kb,即64kB,sector的大小为256 Bytes,block的大小为4k Bytes 调试时出现的问题: 1.Fla ...