默认InnoDB 是REPEATABLE READ.(重复读隔离)
2015-11-07 11:21
399 查看
SQL:1992 事务隔离级别的术语,默认InnoDB 是REPEATABLE READ.(重复读隔离)
对于MySQL的Innodb的默认事务隔离级别是重复读(repeatable read)。可以通过下面的命令查看:
mysql> SELECT @@GLOBAL.tx_isolation, @@tx_isolation;
+———————–+—————–+
| @@GLOBAL.tx_isolation | @@tx_isolation |
+———————–+—————–+
| REPEATABLE-READ | REPEATABLE-READ |
+———————–+—————–+
1 row in set (0.00 sec)
SESSION A:
set autocommit=0;
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.00 sec)
mysql> update t2 set id=100 where id=99;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
SESSION B:
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.01 sec)
SESSION A: 执行commit
SESSION B:
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.00 sec)
Session A已经提交,还是看到数据不变,即可以重复读。
SESSION B:
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t2;
+——+
| id |
+——+
| 100 |
+——+
1 row in set (0.00 sec)
【说明】
提交事务,看到最新数据
对于MySQL的Innodb的默认事务隔离级别是重复读(repeatable read)。可以通过下面的命令查看:
mysql> SELECT @@GLOBAL.tx_isolation, @@tx_isolation;
+———————–+—————–+
| @@GLOBAL.tx_isolation | @@tx_isolation |
+———————–+—————–+
| REPEATABLE-READ | REPEATABLE-READ |
+———————–+—————–+
1 row in set (0.00 sec)
SESSION A:
set autocommit=0;
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.00 sec)
mysql> update t2 set id=100 where id=99;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
SESSION B:
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.01 sec)
SESSION A: 执行commit
SESSION B:
mysql> select * from t2;
+——+
| id |
+——+
| 99 |
+——+
1 row in set (0.00 sec)
Session A已经提交,还是看到数据不变,即可以重复读。
SESSION B:
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t2;
+——+
| id |
+——+
| 100 |
+——+
1 row in set (0.00 sec)
【说明】
提交事务,看到最新数据
相关文章推荐
- 多点触控
- FindBugs常见错误描述和解决方法
- SpringMVC 的2个配置问题
- Mathematica求函数最大值
- 如果图G=<V,E>是哈密尔顿图,则它必然具备下述性质
- 回射客户端服务器shutdown修改版( echo client && server improved by select shutdown )
- 最大子序列和问题
- ThinkPHP快速入门2-CURD,查询
- 关于post与get方法的区别
- Linux系统负载相关知识汇总
- 安装redis
- 1024. Palindromic Number (25)
- FindBugs规则整理
- 程序员技术练级攻略
- 手机m1使用总结
- 1024. Palindromic Number (25)
- Android Activity 的二种方式切换动画
- 关于网络一_WebView用法简介
- 算法递归简论
- agiledox产生的输出能直接被商业客户、分析师、测试人员都看懂!