mysql3事務(2)-隔離級別
阿新 • • 發佈:2018-11-23
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幻讀
事務中讀的是其他事務中新增和刪除的資料