博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读
阅读量:4615 次
发布时间:2019-06-09

本文共 1053 字,大约阅读时间需要 3 分钟。

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.

转载于:https://www.cnblogs.com/zhaoyangjian724/p/6199076.html

你可能感兴趣的文章
MongoDB入门(1)--安装配置
查看>>
VUE 与其他常见前端框架对比
查看>>
小爬虫demo——爬取“妹子”等网站链接____使用requests库
查看>>
<c和指针>学习笔记5动态内存分配和预处理器
查看>>
Centos 批量分发脚本
查看>>
电子围栏
查看>>
数据结构----链表的删除和遍历(2018/10/24)
查看>>
使用Java2D改善API绘制效果
查看>>
python多线程与线程
查看>>
HTML5网页点击分享到whatsapp
查看>>
前端工程的构建工具对比 Gulp vs Grunt
查看>>
随机抓取数据
查看>>
liunx系统下安装redis
查看>>
2015.09.13 网易游戏在线笔试(运营开发工程师)
查看>>
Atcoder D - Widespread (二分)
查看>>
centos下安装postgresql
查看>>
未来SEO的发展方向和趋势猜测与分析
查看>>
Python面向对象——多态
查看>>
键盘事件的运用
查看>>
e b
查看>>