第 9 章 · 第三节 · 课件第 19、20 页合并重做
四种隔离级别
级别越高,出现的问题越少,并发程度越低。
四种隔离级别
四种数据不一致性都是因为并发的事务破坏了隔离性。SQL 标准定义了四种隔离级别,级别越高,出现的问题越少,并发程度越低。
| 级别 | 写法 | 说明 |
|---|---|---|
| 读未提交 | READ UNCOMMITTED | 最低,可以读到其他事务未提交的数据 |
| 读已提交 | READ COMMITTED | 只能读到其他事务已提交的数据 |
| 可重复读 | REPEATABLE READ | MySQL 的默认级别 |
| 串行化 | SERIALIZABLE | 最高,事务一个接一个执行 |
查看当前会话的隔离级别
SELECT @@transaction_isolation;设置隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL
READ COMMITTED;- SESSION:只对当前会话有效,实验中都用这种写法
- GLOBAL:对以后新建立的会话有效
- 也可以写成 SET transaction_isolation = 'READ-COMMITTED',级别名中的空格改为短横线