事務的特性

2021-10-17 15:39:08 字數 1541 閱讀 2622

原子性

:原子性對應的英文是

atomicity

,即表示事務中所有操作是不可再分割的原子單位。事務中所有操作要麼全

部執行成功,要麼全部執行失敗;

一致性:一致性對應的英文是

consistency

,事務執行後,資料庫狀態與其它業務規則保持一致。例如轉賬業務,無

論事務執行成功與否,參與轉賬的兩個賬號餘額之和應該是不變的;

隔離性:隔離性對應的英文是

isolation

,是指在併發操作中,不同事務之間應該隔離開來,使每個併發中的事務不

會相互干擾;

永續性:永續性對應的英文是

durability

,指的是一旦事務提交成功,事務中所有的資料操作都必須被持久化到資料

庫中,即使提交事務後,資料庫馬上崩潰,在資料庫重啟時,也必須能保證通過某種機制恢復資料 1.

事務的特性 *

原子性

‐‐ 強調的是事務的不可分割的特性 *

一致性

‐‐ 強調的是事務執行前後資料需要保證一致 *

隔離性

‐‐ 強調的是多個事務同時操作一條記錄,事務之間不能互相干擾 *

永續性

‐‐ 強調的是事務一旦結束了,資料將永久的儲存到資料庫中 2.

這些特性都是資料庫提供的

不考慮事務的隔離性會引發的問題:

1.髒讀:乙個事務讀取到了另乙個事務未提交的資料! 2.

不可重複讀:乙個事務讀取到了另乙個事務提交的資料,導致了多次查詢的結果不一致。強調的是

update

,修改記錄

的資料。 3.

虛度(幻讀):乙個事務讀取到了另乙個事務提交的資料,導致了多次查詢的結果不一致。強調是

insert

,向表中添

加一條資料。

設定事務的隔離級別(解決讀的問題) :

1.事務的隔離級別(設定資料庫的隔離級別,根據級別的不同,解決上述的讀的問題)

* read uncommitted ‐‐

什麼都解決不了

* read committed ‐‐

避免髒讀,但是不可重複讀和虛讀有可能產生

* repeatable read ‐‐

避免髒讀和不可重複讀,虛度有可能產生的

* serializable ‐‐

避免各種讀

2.4種隔離級別有安全性和效率 *

安全 serializable > repeatable read > read committed > read uncommitted *

效率 serializable < repeatable read < read committed < read uncommitted 3.

資料庫都有自己預設的隔離級別

* mysql

的資料庫,預設的隔離級別是

repeatable read

,避免髒讀和不可重複讀

事務的特性

事務具有四個特徵 原子性 atomicity 一致性 consistency 隔離性 isolation 和持續性 durability 這四個特性簡稱為 acid 特性。1 原子性 事務是資料庫的邏輯工作單位,事務中包含的各操作要麼都做,要麼都不做 2 一致性 事 務執行的結果必須是使資料庫從乙個...

事務的特性

事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。事務通常是以begin transaction開始,以commit或roll...

事務的特性

如果乙個資料庫聲稱支援事務的操作,那麼該資料庫必須支援以下四個特性 原子性 atomicity 一次事務中如果要進行多個資料操作,最終的結果要麼所有資料操作都成功,要麼所有資料操作都失敗 例如a轉賬給b100元,最終的結果要求a減少100元,b增加100元,不能出現a減少了但b沒有增加 一致性 co...