MySql事務的隔離級別及作用


邏輯工作單元遵循一系列(ACID)規則則稱為事務。

原子性:保證事務是一系列的運作,如果中間過程有一個不成功則全部回滾,全部成功則成功。保證了事務的原則性。

一致性:一致性指的是比如A向B轉100塊錢,不可能A少了100,結果B卻沒得到100。要么A少錢B多錢,要么A不少,B不多。

隔離性:當一個事務在運行過程中,別的事務影響不到該事務,及此事務也不會影響別的事務,這稱為隔離性。

持久性:保證數據成功之后是持久存在的,而不是像內存一樣。

 

事務的隔離級別:

事務隔離級別         臟讀   不可重復讀    幻讀
讀未提交(read-uncommitted) 是     是       是
不可重復讀(read-committed) 否     是       是
可重復讀(repeatable-read)    否     否       是
串行化(serializable)     否     否       否

 

相對來說這個順序是:
1.最不安全,4.最安全
1.性能最高 4.性能最低

 

Mysql的默認級別是:repeatable-READ

Oracle的默認級別是:read-COMMITTED

 

設置隔離級別的兩種寫法:

  1.  SET GLOBAL TRANSACTION ISOLATION LEVEL 隔離級別

  2.  SET tx_isolation= 隔離級別

  第一種方式不需要 ‘-’ 否則不會執行成功。  第二種方式必須有‘-’ ,否則不會執行成功

 

 

查看事務的隔離級別:

SELECT @@tx_isolation;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM