1. 程式人生 > >mysql3事務(2)-隔離級別

mysql3事務(2)-隔離級別

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幻讀

事務中讀的是其他事務中新增和刪除的資料