mysql 幻读
幻读(Phantom Read) 是指当用户读取某一范围的数据行时,B事务在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影”行。InnoDB和Falcon存储引擎通 过多版本并发控制机制解决了幻读问题。
http://bbs.csdn.net/topics/360050896
http://narcissusoyf.iteye.com/blog/1637309
http://hudeyong926.iteye.com/blog/1490687
http://imysql.cn/2008_07_10_innodb_tx_isolation_and_lock_mode
http://www.cnblogs.com/zhaoyl/p/4121010.html
A事务读取了B事务已经提交的新增数据,此时 A 还没有提交,当前提交后,也就看到了
A事务
mysql> select * from test;
+----+----+
| a | b |
+----+----+
| 14 | 14 |
| 16 | 16 |
| 10 | 20 |
| 31 | 31 |
| 33 | 33 |
| 38 | 38 |
| 50 | 60 |
| 70 | 70 |
+----+----+
8 rows in set (0.00 sec)
事务B
mysql> insert into test (a,b) values(80,80);
Query OK, 1 row affected (0.00 sec)
事务A
mysql> select * from test;
+----+----+
| a | b |
+----+----+
| 14 | 14 |
| 16 | 16 |
| 10 | 20 |
| 31 | 31 |
| 33 | 33 |
| 38 | 38 |
| 50 | 60 |
| 70 | 70 |
+----+----+
8 rows in set (0.00 sec)
事务B
mysql> commit;
Query OK, 0 rows affected (0.01 sec)
事务A 此时若不commit,是看不到事务B insert的数据的
mysql> select * from test;
+----+----+
| a | b |
+----+----+
| 14 | 14 |
| 16 | 16 |
| 10 | 20 |
| 31 | 31 |
| 33 | 33 |
| 38 | 38 |
| 50 | 60 |
| 70 | 70 |
+----+----+
8 rows in set (0.00 sec)
commit;
mysql> select * from test;
+----+----+
| a | b |
+----+----+
| 14 | 14 |
| 16 | 16 |
| 10 | 20 |
| 31 | 31 |
| 33 | 33 |
| 38 | 38 |
| 50 | 60 |
| 70 | 70 |
| 80 | 80 |
+----+----+
9 rows in set (0.00 sec)
mysql 幻读的更多相关文章
- Mysql加锁过程详解(2)-关于mysql 幻读理解
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- Mysql加锁过程详解(3)-关于mysql 幻读理解
Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...
- 关于MySQL幻读的实验
该实验基于 CentOS 7 + MySQL 5.7 进行 打开两个窗口连接到MySQL 第一个连接的事务我们命名为 T1 第二个连接的事务我们命名为 T2 T2 发生在 T1 的 O1 操作结束以 ...
- mysql幻读、MVCC、间隙锁、意向锁(IX\IS)
IO即性能 顺序主键写性能很高,由于B+树的结构,主键如果是顺序的,则磁盘页的数据会按顺序填充,减少数据移动,随机主键则可能由于记录移动产生很多io 查询二级索引时,会再根据主键id获取数据页,产生一 ...
- 《Mysql - 幻读》
一:准备 - 为了深入了解幻读,准备数据. CREATE TABLE `t` ( `id` ) NOT NULL, `c` ) DEFAULT NULL, `d` ) DEFAULT NULL, PR ...
- mysql幻读问题
转载:https://blog.csdn.net/u013067756/article/details/90722490 关于间隙锁:https://blog.csdn.net/sinat_27143 ...
- mysql幻读
开启a,b两个数据库连接,a.b都开启事务后,b插入了一条数据R并提交,验证对a的操作造成的影响 select select for update update R update R 后 select ...
- Mysql事务,并发问题,锁机制-- 幻读、不可重复读(转)
1.什么是事务 事务是一条或多条数据库操作语句的组合,具备ACID,4个特点. 原子性:要不全部成功,要不全部撤销 隔离性:事务之间相互独立,互不干扰 一致性:数据库正确地改变状态后,数据库的一致性约 ...
- MySQL InnoDB四个事务级别 与 脏读、不反复读、幻读
MySQL InnoDB事务隔离级别脏读.可反复读.幻读 希望通过本文.能够加深读者对ySQL InnoDB的四个事务隔离级别.以及脏读.不反复读.幻读的理解. MySQL InnoDB事务的隔离级别 ...
随机推荐
- php mysqli多个查询的例子
php中Mysqli多个查询的例子,感兴趣的朋友可以参考下. php中Mysqli多个查询的例子,感兴趣的朋友可以参考下. mysqli_multi_query(mysqli link,string ...
- c 递归函数浅析
所谓递归,简而言之就是应用程序自身调用自身,以实现层次数据结构的查询和访问. 递归的使用可以使代码更简洁清晰,可读性更好(对于初学者到不见得),但由于递归需要系统堆栈,所以空间消耗要比非递归代码要大很 ...
- GridView ItemCommand
GridView ItemCommand中取某行某列的值方法,这里提供两个常用的: 一.用CommandArgument属性取值页面如下: <asp:TemplateColumn HeaderT ...
- 【BZOJ3262】 陌上花开
Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),又三个整数表示.现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量.定义一朵花A比另一朵花B要美丽,当 ...
- DB天气app冲刺第十二天
今天其实不算冲刺了 ,因为今天没怎么花时间在软件上,而是花时间在老师留的作业上了.所以也算作是软件工程这门课的冲刺吧. DB天气这款app上今天的api接口还是木有弄好.明天会继续弄.但是全国城市的数 ...
- 使用Yeoman搭建 AngularJS 应用 (11) —— 让我们搭建一个网页应用
原文地址:http://yeoman.io/codelab/prepare-production.html 让我们发布这个应用 优化产品的文件 为了创建应用的产品版本,我们想做如下的事情 检查你的代码 ...
- shell复习笔记----入门知识
Unix 简史 UNIX 最初是由贝尔实验室(Bell Telephone Laborataries)的计算机科学研究中心开发的,第一版诞生于1970年--也就是在贝尔实验室退出Multics项目不久 ...
- 3.8 spring - AbstractBeanDefinition 介绍
之前,我们已尽完成了xml 文档到 GenericBeanDefinition的转换, 也就是说,到这里,所有的配置都可以在GenericBeanDefinition 的实例中找到对应的配置. Gen ...
- [转载]Dotfuscator Professional Edition 4.9.7500.9484 混淆工具破解版+使用教程
如有转载,请注明出处: http://www.cnblogs.com/flydoos/archive/2012/01/26/2329536.html Dotfuscator Professional ...
- Spring+MyBatis实践—MyBatis数据库访问
关于spring整合mybatis的工程配置,已经在Spring+MyBatis实践—工程配置中全部详细列出.在此,记录一下几种通过MyBatis访问数据库的方式. 通过sqlSessionTempl ...