學習事務筆記

2021-08-21 01:35:58 字數 1141 閱讀 6831

事務

transaction  其實指的一組操作,裡面包含許多個單一的邏輯。只要有乙個邏輯沒有執行成功,那麼都算失敗。 所有的資料都回歸到最初的狀態(回滾)

* 為什麼要有事務?

為了確保邏輯的成功。 例子: 銀行的轉賬。 

指的是 事務中包含的邏輯,不可分割。

指的是 事務執行前後。資料完整性

指的是 事務在執行期間不應該受到其他事務的影響

指的是 事務執行成功,那麼資料應該持久儲存到磁碟上。

不考慮隔離級別設定,那麼會出現以下問題。

髒讀 不可重讀讀 幻讀.

* 髒讀

> 乙個事務讀到另外乙個事務還未提交的資料

* 不可重複讀

> 乙個事務讀到了另外乙個事務提交的資料 ,造成了前後兩次查詢結果不一致。

讀未提交 演示

設定a視窗的隔離級別為 讀未提交

2兩個視窗都分別開啟事務

丟失更新

讀已提交演示

設定a視窗的隔離級別為 讀已提交

a b 兩個視窗都開啟事務, 在b視窗執行更新操作。

在a視窗執行的查詢結果不一致。 一次是在b視窗提交事務之前,一次是在b視窗提交事務之後。

在a視窗執行的查詢結果不一致。 一次是在b視窗提交事務之前,一次是在b視窗提交事務之後。

事務 學習筆記

講解事務前我們先來看一張圖 這張圖講述了資料庫的隔離級別和預防髒讀 不可重複讀,幻讀的對應關係。那麼mysql 預設的資料庫隔離級別是repeatable read 這個級別下就不會出現髒讀和不可重複讀。而oracle和sqlserver 的預設隔離級別是 read committed 這種級別不會...

學習筆記1 事務

一 事務的四大特性 1.原子性 atomicity 事務中所有操作是不可再分割的原子單位,事務中所有的操作要麼全部執行,要麼全部執行失敗。2.一致性 consistency 事務執行後,資料庫狀態與其他業務規則保持一致。eg 轉賬業務,無論事務執行成功與否,參與轉賬的雙方餘額之和應該是不變的。3.隔...

事務(Transaction)學習筆記

基於原部落格而寫的筆記。是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。乙個邏輯工作單元...