事務的四個特性

2021-08-09 18:12:36 字數 1013 閱讀 3899

一、原子性

原子性指事務包含的所有操作要麼全部成功,要麼全部失敗回滾。因此事務的成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。

二、一致性

一致性是指事務必須使資料庫從乙個致性狀態變換到另乙個一致性狀態,也就是說乙個事務執行之前和執行之後都必須處於一致性狀態。一致性的必須通過原子性來實現,同時還需要邏輯的正確,保證資料的守恆。

三、隔離性

隔離性是指多個併發事務之間相互隔離,資料庫為每個使用者開啟的事務不能被其他事務的操作所干擾。

資料庫的隔離級別從高到低分為:

serializable(序列化):讀加共享鎖(讀鎖),寫加排他鎖。這樣讀取可以併發,但是讀寫、寫寫事務之間都是互斥的,基本都是乙個個序列的執行事務,所以叫序列化。級別最高,執行的效率也最低。

repeatable read(可重複讀):讀事務會阻止其他寫事務,但不會阻止其他讀事務。

存在的問題:幻讀。可重複讀阻止的寫事務包括update和delete(只給存在的表加上了鎖),但不包括insert,所以多次讀取的記錄數可能不一樣。mysql資料庫預設的隔離級別。

read committed(可讀取確認):寫事務會阻止其他讀寫事務。讀事務不會阻止其他任何事務。

存在的問題:不可重複讀。即一次事務之間,進行了兩次讀取,但是結果不一致。大部分主流資料庫預設的隔離級別。

read uncommitted(可讀取未確認):寫事務阻止其他寫事務,但是沒有阻止其他讀事務。

存在的問題:髒讀。即讀取到不正確的資料,如果乙個事務還未提交最終資料,另乙個讀事務讀取了中途的資料,這個資料可能是不正確的。

四、永續性

永續性是指乙個事務一旦被提交了,那麼對資料庫中的資料的改變就是永久性的,即便是在資料庫系統遇到故障的情況下也不會丟失提交事務的操作。

mysql事務四個特性 事務的四個特性

事務的四個特性 1.原子性 atomicity 1.1什麼是原子性 一般來說,原子是指不能分解成小部分的東西。這個詞在計算的不同分支中意味著相似但又微妙不同的東西。例如,在多執行緒程式設計中,如果乙個執行緒執行乙個原子操作,這意味著另乙個執行緒無法看到該操作的一半結果。系統只能處於操作之前或操作之後...

事務 四個特性

事務具有4個特徵,分別是原子性 一致性 隔離性和永續性,簡稱事務的acid特性 一 原子性 atomicity 乙個事務要麼全部提交成功,要麼全部失敗回滾,不能只執行其中的一部分操作,這就是事務的原子性 二 一致性 consistency 事務的執行不能破壞資料庫資料的完整性和一致性,乙個事務在執行...

事務 事務的四個特性

現實生活中,我們往往經常會進行轉賬操作,轉賬操作可以分為兩部分來完成,轉入和轉出。只有這兩部分都完成了才可以認為是轉賬成功。在資料庫中,這個過程是使用兩條語句來完成的,如果其中任意一條語句出現了異常沒有執行,則會導致兩個賬號的金額不同步,造成錯誤。為了防止上面可能出現的情況,mysql引入了事務,所...