您的位置:首页 > 其它

默认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)

【说明】

提交事务,看到最新数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: