[sql] view plain copy

  1. CREATE TABLE `t100` (
  2. `id` bigint(20) NOT NULL default '0',
  3. `value` varchar(32) default NULL,
  4. PRIMARY KEY (`id`)
  5. ) ;
  6. mysql>select @@global.tx_isolation, @@tx_isolation;
  7. +-----------------------+-----------------+
  8. | @@global.tx_isolation | @@tx_isolation  |
  9. +-----------------------+-----------------+
  10. | REPEATABLE-READ       | REPEATABLE-READ |
  11. +-----------------------+-----------------+
  12. 试验4-1:
  13. SESSION A:
  14. set autocommit=0;
  15. SESSION B:
  16. tSessionA                                                     Session B
  17. |
  18. set autocommit=0;                                         set autocommit=0;
  19. | START TRANSACTION;                                  START TRANSACTION;
  20. |
  21. | SELECT * FROM t100;
  22. | empty set
  23. |                                                   INSERT INTO t100 VALUES (1, 'a');
  24. |
  25. |
  26. | SELECT * FROM t100;
  27. | empty set
  28. |                                                                      COMMIT;
  29. |
  30. | SELECT * FROM t100;
  31. | empty set
  32. |
  33. | INSERT INTO t100 VALUES (1, 'a');
  34. | ERROR 1062 (23000):
  35. | Duplicate entry '1' for key 1
  36. v (shit,刚刚明明告诉我没有这条记录的)
  37. 如此就出现了幻读,以为表里没有数据,其实数据已经存在了,傻乎乎的提交后,才发现数据冲突了。

mysql 幻象读的更多相关文章

  1. Sql server脏读、更新丢失、不可重复读、幻象读问题及解决方案

    1.脏读:一个事务读到另外一个事务还没有提交的数据.解决方法:把事务隔离级别调整到READ COMMITTED,即SET TRAN ISOLATION LEVEL READ COMMITTED.这时我 ...

  2. Mysql加锁过程详解(2)-关于mysql 幻读理解

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  3. Mysql加锁过程详解(3)-关于mysql 幻读理解

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  4. mysql 快照读MVCC

    mysql的读分快照读和当前读 快照读 是指写的同时,读不阻塞,达到并发的作用 这时候的读 是 记录的历史版本,存在于undo里,当然回滚时就的也是这个undo 当执行一条update语句时,记录本身 ...

  5. mysql幻读、MVCC、间隙锁、意向锁(IX\IS)

    IO即性能 顺序主键写性能很高,由于B+树的结构,主键如果是顺序的,则磁盘页的数据会按顺序填充,减少数据移动,随机主键则可能由于记录移动产生很多io 查询二级索引时,会再根据主键id获取数据页,产生一 ...

  6. MySQL 一致性读 深入研究

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

  7. mysql 幻读

    幻读(Phantom Read) 是指当用户读取某一范围的数据行时,B事务在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影”行.InnoDB和Falcon存储引擎通 过多版本并发 ...

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

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

  9. mysql一致性读

    Consistent Nonlocking Reads 一致读意味着InnoDB用多版本来提供一个查询数据库某个时间点的快照.这种查询可以看到在当前世界点之前事务提交的改变,看不到此后提交的改变,更看 ...

随机推荐

  1. 20172306《Java程序设计与数据结构》第十周学习总结

    20172306<Java程序设计>第十周学习总结 教材学习内容总结 本章主要的讲的是集合有关的知识: 1.集合与数据结构 - 集合是一种对象,集合表示一个专用于保存元素的对象,并该对象还 ...

  2. LibreOJ #6001. 「网络流 24 题」太空飞行计划 最大权闭合图

    #6001. 「网络流 24 题」太空飞行计划 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统计讨论测 ...

  3. c#比delphi先进的地方

    下面是一个例子: using System;namespace HelloWorld{  class Hello{            private static string DateDiff( ...

  4. swift 基本用法

    Swift 也提供恒等(===)和不恒等(!==)这两个比较符来判断两个对象是否引用同一个对象实例. 判断字符串相等: let name = "world" if name == ...

  5. vc项目中加载多个lib遇到的问题

    一个VC项目中 在网络加密 json解析等方面  加载了多个第三方库和文件 boost cryptpp rapidjson  mysql的连接池等等 在使用mysql++的时候 多次报错 LNK 20 ...

  6. maven下载的jar相应pom文件下载不完整问题。

    今天遇到一个奇葩问题: 同样的项目,我启动报错 : 某个class文件找不到.. 查找maven 依赖也的确没有找到 对应的jar 包. 查找同事项目,可以看到该class对应的 jar 包 是 lo ...

  7. db2 解锁表

    db2 set integrity for ACT_RU_VARIABLE immediate checked

  8. SpringMVC学习笔记:数据的接收与返回

    SpringMVC的定义:Spring Web MVC is the original web framework built on the Servlet API and included in t ...

  9. mybatis学习 十四 resultMap标签 一对一(联合查询)

    1.使用 resultMap 实现关联单个对象(联合查询方式) <resultMap type="Student" id="stuMap1"> &l ...

  10. 添加/删除-HTML DOM 常用对象 -BOM-打开和关闭窗口- history-location

    1. 添加/删除 3步: 1. 添加一个空元素 var a=document.createElement("a"); <a></a> 2. 定义元素的关键属 ...