MySQL RR隔离 读一致性
MySQL RR 模式下 事务隔离问题: Session 1:
mysql> select * from test;
+------+------+
| id | name |
+------+------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a01 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+------+
7 rows in set (0.00 sec) mysql> update test set name='a999' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from test;
+------+------+
| id | name |
+------+------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a999 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+------+
7 rows in set (0.00 sec) Session 2:
mysql> select * from test ;
+------+------+
| id | name |
+------+------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a01 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+------+
7 rows in set (0.00 sec) mysql> select * from test ;
+------+------+
| id | name |
+------+------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a999 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+------+
7 rows in set (0.00 sec) 此时没有开启事务,RR模式下 更新立即被看到 /**************************************************** Session 2开启事务: SESSION 1:
mysql> update test set name='a0101' where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from test;
+------+-------+
| id | name |
+------+-------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a0101 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+-------+
7 rows in set (0.00 sec) 此时在查看Session 2: mysql> select * from test ;
+------+------+
| id | name |
+------+------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a999 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+------+
7 rows in set (0.00 sec) mysql> commit;
Query OK, 0 rows affected (0.00 sec) ---需要手动提交事务 mysql> select * from test ;
+------+-------+
| id | name |
+------+-------+
| NULL | a |
| 2 | b |
| 3 | c |
| 1 | a0101 |
| 4 | a |
| 4 | a |
| 5 | c |
+------+-------+
7 rows in set (0.00 sec)
MySQL RR隔离 读一致性的更多相关文章
- mysqldump 利用rr隔离实现一致性备份
mysqldump -p -S /data/mysqldata1/sock/mysql.sock --single-transaction --master-data=2 --database db1 ...
- Mysql RR隔离更新列没有索引 会锁全表
<pre name="code" class="html">mysql> show variables like '%tx_isolation ...
- [原创]MySQL RR隔离级别下begin或start transaction开启事务后的可重复读?
Server version: 5.6.21-log MySQL Community Server (GPL) 前提提要: 我们知道MySQL的RR(repeatable read)隔 ...
- MySQL 中隔离级别 RC 与 RR 的区别
1. 数据库事务ACID特性 数据库事务的4个特性: 原子性(Atomic): 事务中的多个操作,不可分割,要么都成功,要么都失败: All or Nothing. 一致性(Consistency): ...
- Mysql(三)------事务的特性、事务并发、事务读一致性问题
1 什么是数据库的事务? 1.1 事务的典型场景 在项目里面,什么地方会开启事务,或者配置了事务?无论是在方法上加注解,还 是配置切面 <tx:advice id="txAdvice& ...
- Innodb 中 RR 隔离级别能否防止幻读?
问题引出 我之前的一篇博客 数据库并发不一致分析 有提到过事务隔离级别以及相应加锁方式.能够解决的并发问题. 标准情况下,在 RR(Repeatable Read) 隔离级别下能解决不可重复读(当行修 ...
- MySQL默认隔离级别为什么是RR
曾多次听到“MySQL为什么选择RR为默认隔离级别”的问题,其实这是个历史遗留问题,当前以及解决,但是MySQL的各个版本沿用了原有习惯.历史版本中的问题是什么,本次就通过简单的测试来说明一下. 1. ...
- MYSQL事件隔离级别以及复读,幻读,脏读的理解
一.mysql事件隔离级别 1未提交读(READUNCOMMITTED) 另一个事务修改了数据,但尚未提交,而本事务中的SELECT会读到这些未被提交的数据(脏读)( 隔离级别最低,并发性能高 ) 2 ...
- mysql事务隔离级别、脏读、幻读
Mysql事务隔离级别本身很重要,再加上可能是因为各大公司面试必问的缘故,在博客中出现的概率非常高,但不幸的是,中国的技术博客要么是转载,要么是照抄,质量参差不齐,好多结论都是错的,对于心怀好奇之心想 ...
随机推荐
- MFC 动态创建按钮
首先在对话框(模式对话框,无模式对话框)中添加一个ADD按钮,通过点击按钮产生的通告消息调用::OnBtnAdd()方法.此方法会在对话框的左上角创建一个按钮. 当然首先要在和次对话框相关联的类中添加 ...
- centos 6.5 安装docker
Docker 安装: 1.centos 6 安装 yum update 升级到centos 6.7版本: yum install -y epel-release 安装 epel扩展源 yum inst ...
- C指针
1,每行最大长度,处理的最大列号; preprocessor directives,preprocessor,预处理器读入源代码,根据预处理指令对其进行修改,把修改后 的源代码递交给编译器; 预处理器 ...
- vsftpd配置---------------------之chroot_local_user和chroot_list_enable含义
chroot_local_user和chroot_list_enable含义 很多情况下,我们希望限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上 的其他 ...
- CURL 宏定义列表
摘自http://blog.csdn.net/msda/article/details/38047809/ CURL 宏定义列表 列表CURL库一共有17个函数 curl_close:关闭CURL会话 ...
- 记录一个js切换随机背景颜色的代码
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- OC基础15:内存管理和自动引用计数
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.什么是ARC? (1).ARC全名为A ...
- swift http请求返回json数据和分析
1 AppDelegate.swift // // AppDelegate.swift // QQDemo // // Created by 赵超 on 14-6-21. // Copyright ( ...
- UVA 1343 The Rotation Game
题意: 给出图,往A-H方向旋转,使中间8个格子数字相同.要求旋转次数最少,操作序列字典序尽量小. 分析: 用一维数组存24个方格.二维数组代表每个方向对应的7个方格.IDA*剪枝是当8-8个方格中重 ...
- 远程访问数据库查询数据量一大就Hang
最近刚为客户升级了一套Oracle Database,一切进展顺利,眼看就要顺利验收时,发现有部分客户端软件连接新版本数据库时会Hang,问题非常诡异. 系统环境如下 升级前的环境OS:Windows ...