1隔离级别
mysql隔离级别
show VARIABLES like '%iso%';
mysql> show variables like '%tx_is%';
+---------------+-----------------+
| Variable_name | Value |
+---------------+-----------------+
| tx_isolation | REPEATABLE-READ |
+---------------+-----------------+
1 row in set, 1 warning (0.00 sec)
读未提交
- 能读到其他事务还没有提交的数据变化
- 会出现 脏读,不可重复读,幻读
读已提交
- 读的是其他事物已经提交的数据变化
- 会出现 不可重复读,幻读
可重复读
- 在事务结束前,读到的数据都是一样的
- 会出现幻读
串行
- 读的时候加表级共享锁,写得时候加表级拍他锁
- 不会出现其他
2设置隔离级别
SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]
后面四个等级分别为 读未提交,读已提交,重复读,串行
3四种现象
1脏读
读到其他事务未提交的数据。
2不可重复读
事务中读的是其他事务修改的数据
3幻读
事务中读的是其他事务中新增和删除的数据