14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读

一致性读意味着 InnoDB 使用多版本来实现一个查询数据库的快照在某个时间点。

查看看到的事务做出的改变被提交了在那个时间点前, 随后没有改变或者没有提交的事务。

这个例外是这个规则是查询看到的改变通过早期的语句在相同的事务里,

这个列外导致下面的异常:

如果事务隔离级别是REPEATABLE READ (the default level),所有一致性读在相同的事务 读取通过第一次这样的读在事务里创建的快

照。
你也可以得到一个更新鲜的快照对于你的查询通过提交当前的事务然后执行新的查询 在 READ COMMITTED isolation level, 每个一致性读在一个事务里设置和读它自己的新鲜的快照 一致性读是默认的模式 InnoDB 处理SELECT 语句在 READ COMMITTED and REPEATABLE READ isolation levels. 一个一致性读不设置任何锁在它访问的表上, 因此其他会话可以同时的修改那些表 假设你运行模拟的事务隔离(RR) 当你执行一个一致性读(即,一个普通的SELECT 语句) InnoDB 给你的事务一个时间点 根据这个你看的查看看到的数据库 如果其他的事务删除一个记录和提交在你的时间点被分配后, 你不会看到已经被删除,插入和修改的记录 注意: 数据库的快照状态应用于SELECT 语句在一个事务里, 未必对于DML语句。 如果你插入或者修改一些记录然后提交那个事务,一个DELETE 或者UPDATE语句从另外的并发RR事务被执行可能影响 那些提交的行,即使session 不能查看他们。 你可以提前你的时间点通过提交你的事务,然后做另外一个 SELECT or START TRANSACTION WITH CONSISTENT SNAPSHOT. 在下面的例子,Session A 看到SESSION B插入的记录只有当B已经提交了插入,而且A也提交了, 如果你想看到数据库的最新状态,使用RC隔离级别或者锁定读 在READ COMMITTED isolation level下,每个一致性读使用一个事务设置和读取它自己最新鲜的快照。 一致性读 不支持某些DDL语句: 1.一致性读不支持DROP table,因此MySQL 不能使用一个表已经被删除了 2.

14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读的更多相关文章

  1. 14.3.2.3 Consistent Nonlocking Reads 一致性非锁定读

    14.3.2.3 Consistent Nonlocking Reads 一致性非锁定读 一致性读 意味着 InnoDB 使用多版本来保护查询一个数据库在当前时间点的快照. 查询看到被事务做出的修改, ...

  2. MySQL中一致性非锁定读

    一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据,如果读取的行 ...

  3. MySQL一致性非锁定读

    一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据,如果读取的行 ...

  4. MySQL——一致性非锁定读(快照读)&MVCC

    MySQL--一致性非锁定读(快照读) MySQL数据库中读分为一致性非锁定读.一致性锁定读 一致性非锁定读(快照读),普通的SELECT,通过多版本并发控制(MVCC)实现. 一致性锁定读(当前读) ...

  5. 分布式理论(八)—— Consistent Hash(一致性哈希算法)

    前言 在分布式系统中,常常需要使用缓存,而且通常是集群,访问缓存和添加缓存都需要一个 hash 算法来寻找到合适的 Cache 节点.但,通常不是用取余hash,而是使用我们今天的主角-- 一致性 h ...

  6. MySQL优化篇系列文章(二)——MyISAM表锁与InnoDB锁问题

    我可以和面试官多聊几句吗?只是想... MySQL优化篇系列文章(基于MySQL8.0测试验证),上部分:优化SQL语句.数据库对象,MyISAM表锁和InnoDB锁问题. 面试官:咦,小伙子,又来啦 ...

  7. MySQL 一致性读 深入研究

    一致性读,又称为快照读.使用的是MVCC机制读取undo中的已经提交的数据.所以它的读取是非阻塞的. 相关文档:http://dev.mysql.com/doc/refman/5.6/en/innod ...

  8. MySQL 一致性读 深入研究 digdeep博客学习

    http://www.cnblogs.com/digdeep/p/4947694.html 一致性读,又称为快照读.使用的是MVCC机制读取undo中的已经提交的数据.所以它的读取是非阻塞的. 相关文 ...

  9. 14.3.2.1 Transaction Isolation Levels 事务隔离级别

    14.3.2 InnoDB Transaction Model InnoDB 事务模型 14.3.2.1 Transaction Isolation Levels 事务隔离级别 14.3.2.2 au ...

随机推荐

  1. rsyslog 详解3

    http://blog.clanzx.net/2013/12/31/rsyslog.html http://www.centosabc.com/archives/601 http://www.cnbl ...

  2. QDomDocument类

    QDomDocument类代表了一个XML文件 QDomDocument类代表整个的XML文件.概念上讲:它是文档树的根节点,并提供了文档数据的基本访问方法. 由于元素.文本节点.注释.指令执行等等不 ...

  3. json-lib-2.4-jdk15.jar maven

    最近自己将一个web项目装换到使用mevan自动管理. 遇到了一个json包导入的问题.最终解决如下: <!-- https://mvnrepository.com/artifact/net.s ...

  4. 如何为 setTimeout() 方法传参

    现有如下JavaScript代码: function printApple(apple){ console.log(apple, "is a kind of healthy fruit&qu ...

  5. Css实现透明效果,兼容IE8

    Css实现透明效果,兼容IE8 >>>>>>>>>>>>>>>>>>>>> ...

  6. 第八篇:python高级之多进程

    python高级之多进程   python高级之多进程 本节内容 多进程概念 Process类 进程间通讯 进程同步 进程池 1.多进程概念 multiprocessing is a package ...

  7. 21、javascript 基础

    Javascript Javascript 是一种嵌入到HTML文档的脚本语言,由浏览器解释和执行,无需编译. Javascript 是大小写敏感的,大写字母与小写字母不同. 使用“:”分号来分割每一 ...

  8. powerdesigner设置唯一键,但不是主键的方式

    [转载]http://blog.csdn.net/cnham/article/details/6676650 唯一约束 唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的 ...

  9. PHP 开发API接口 注册,登录,查询用户资料

    服务端 <?php require 'conn.php'; header('Content-Type:text/html;charset=utf-8'); $action = $_GET['ac ...

  10. xml中报错,验证是否是xml报错

    1.xml中写入sql有时报错,例如有大于号小于号,要用<![CDATA[                  ]]>扩起来 2.验证xml有错的方式,以浏览器方式打开,如果正常打开,无错. ...