Mysql資料庫的隔離級別

Tamako521發表於2018-12-22

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 隔離級別等級     (設定會話的隔離級別)

 

相關文章