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. CentOS使用sendmail发送邮件

    1.安装sendmail yum -y install sendmail 2.启动sendmail服务 service sendmail start 3.将发件内容写入mail.txt mail -s ...

  2. sql 减去分钟

    SQL SERVER:SELECT DATEADD( minute,-10,GETDATE()) ORACLE:SELECT to_char(sysdate -interval '10' minute ...

  3. 我是一块cpu 《转载》

    我是一块cpu,原装intel,在一台普通的台式计算机里供职.我有个小弟是内存,我要靠他时时刻刻陪伴我工作,其实有时候我并不是没有某某地址的资料,而是懒得翻--麻烦. 还有一个老大哥叫bios,每次那 ...

  4. javascript ~~ 符号的使用

    其实是一种利用符号进行的类型转换,转换成数字类型 大概是这样滴: ~~true == 1 ~~false == 0 ~~"" == 0 ~~[] == 0 ~~undefined ...

  5. 让ie6/7/8兼容css3的圆角阴影等特殊效果的方法 PIE1.0.0及placeholder在这些IE下生效的方法

    PIE地址:http://css3pie.com/ 使用方法1: #login,#AnnouncementBox {  border:3px solid #fff;  -webkit-border-r ...

  6. (JavaScript实现)页面无操作倒计时退出

    项目前端页面需要实现,页面没人操作进入倒计时,以下为前端代码实现. //设置(倒计时功能)开关 var _mouseActiveListener_flag = true; beforecount:触发 ...

  7. poj 1087.A Plug for UNIX (最大流)

    网络流,关键在建图 建图思路在代码里 /* 最大流SAP 邻接表 思路:基本源于FF方法,给每个顶点设定层次标号,和允许弧. 优化: 1.当前弧优化(重要). 1.每找到以条增广路回退到断点(常数优化 ...

  8. 【POJ3461】【KMP】Oulipo

    Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without t ...

  9. Java学习随笔——RMI

    RMI(Remote Method Invocation)远程方法注入,用来实现远程方法调用,是实现分布式技术的一种方法.RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建了和服务对象相同的方 ...

  10. Wdcp两日志的路径

    Wdcp两日志的路径: /www/wdlinux/httpd-2.2.22/logs /www/wdlinux/nginx-1.0.15/logs