Mysql資料庫的隔離級別有四種
1.read umcommitted 讀未提交(當前事務可以讀取其他事務沒提交的資料,會讀取到髒資料)
2.read committed 讀已提交(當前事務不能讀取其他事務沒提交的資料,只能讀取其他事務已經提交的資料,但會出現每次讀取的資料都會不同)
3.repeatable read 可重複讀(當前事務不能讀取其他事務沒提交的資料,只能讀取其他事務已經提交的資料,只會讀取到當前事務開啟時的資料狀態,每次讀取的資料都是一樣的)
4.serilizable 序列化(事務序列化,當前事務要等待其他事務執行完畢才能執行操作)
檢視資料庫的隔離級別
1)select @@tx_isolation(全域性的隔離級別)
例如:
mysql> select @@tx_isolation;
+—————-+
| @@tx_isolation |
+—————-+
| SERIALIZABLE |
+—————-+
1 row in set (0.00 sec)
2)select @@session。tx_isoaltion(當前會話的隔離級別)
修改資料庫的隔離級別
1)set global transaction isolation level 隔離級別等級 (設定全域性的隔離級別)
2)set session transaction isolation level 隔離級別等級 (設定會話的隔離級別)