資料庫事務

2021-10-04 07:19:33 字數 1133 閱讀 5935

事務處理

事務的四個特性:acid

隔離級別:從上往下,隔離級別越來越高,意味著資料越來越安全

讀未提交(read uncommitted):會產生「髒讀」問題

讀已提交(read committed):不會產生「髒讀」問題,但是會產生不可重複讀的問題

可重複讀(repeatable read)

序列化(serializable)

資料不一致的問題:

髒讀:a未提交事務,但是b會讀到a的修改

不可重複讀:同乙個事務進行兩次相同查詢會出現資料不一致的問題。

a: start transation;

b: start transation;

a: update..

.b: select..

.-- b讀不到a的修改

a: commit

;b: select..

.--- b讀到了a的修改

幻讀:a提交了事務,但是b沒有看到事務,但是在執行語句時會受到a事務的影響

insert和update會產生幻讀,read不會產生幻讀

a: start transation;

b: start transation;

a: insert

into

user

values(5

,'555');

b: select

*from

user

-- b看不到id為5的資料

b: insert

into

user

values(5

,"qqq");

error: 主鍵重複

髒讀不可重複讀

幻讀讀未提交√√

√讀已提交×√

√可重複讀××

√序列化

question:四個特性中,哪個是最關鍵的?

​ 所有的特性中都是為了保證資料的一致性,所以一致性是最終的追求。

事務中的一致性是通過原子性、隔離性、永續性來保證的

資料庫事務

事件是訪問並可能更新各種資料項的乙個程式執行單元。事件由事務開始與事務結束之間執行的全體操作組成。為了保證資料完整性,資料庫系統需要維護事務的以下性質 原子性 atomicity 事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務執行前後要保持資料庫的一致性。隔離性 iso...

資料庫 事務

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

資料庫事務

這段時間面試,由於基礎不是特別好,遇到一些要筆試的公司。就會表示出來 今天有人問我,資料庫事務 是什麼。我只感覺十分熟悉。但是又說不出所以然。回來找了一下,現在整理記錄 1 定義 資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務...