天天看點

MYSQL事物與隔離級别

什麼是事物,事物就是對mysql多條語句執行過程進行控制,有復原事物 标記復原事物 設定送出 等事物

*事物執行過程:

1.開始事物:start transaction;也标記着可以從這裡開始復原
2.标記 :savepoint   exp;
3.復原标記: rollback to exp;
4.rollback;復原整個事物
5.送出事物:commit;
檢視送出狀态:show variables like 'autocommit';  on為開啟 off為關閉自動送出
設定送出:set @@autocommit =1;設定為自動送出
				  set @@autocommit=0;設定為手動送出;*
           

事物隔離級别:

*1.檢視目前會話隔離級别
select @@tx_isolation;
2.檢視系統目前隔離級别
select @@global.tx_isolation		  
3.設定目前會話隔離級别
set session transaction isolatin level repeatable read;
4.設定系統目前隔離級别
set global transaction isolation level repeatable read;*
           

事物隔離級别的四種狀态

1.read uncommitted  表示未送出讀,通過字面了解就是,别人沒有送出但是已經更改的資料你可以讀到
    2..read committed   送出讀,别人送出的資料你可以讀到,讀到的資料可能不一樣。
    3.repeatable read    預設隔離級别,可重複讀。
    4.serializable:串行化 相當于你讀的時候就把表給加鎖了,隻能你自己讀完再開鎖
           

設定隔離級别

1.設定目前會話隔離級别
set session transaction isolatin level read uncommitted;
2.設定系統目前隔離級别
set global transaction isolation level read uncommitted;
           

繼續閱讀