mysql acid設計 mysql事務

2021-10-18 08:51:22 字數 1089 閱讀 2520

事務是資料庫管理系統執行過程中的乙個邏輯單元,由有限的操作序列構成。

事務是提交和回滾的原子單元

acid

一組資料庫設計原則。

事務有4個特性,即acid。

個人理解是事務的設計模型。

針對,資料被破壞,軟體崩潰,硬體故障,導致結果被篡改,發明的一致性檢查和崩潰恢復機制。

atomic 原子性

乙個事務中的多個操作,要麼全部成功,要麼全部失敗

consistency 一致性

事務開始到結束:資料從乙個確定狀態到另外乙個確定的狀態。事務結束時不出現中間狀態。

isolution 隔離性

併發的多個事務,每個事務有各自的完整資料空間。各有各的跑道

durability 永續性

事務結束後,結果永久儲存。即使斷電,可恢復到事務結束後的結果

隔離級別

ruread uncommit 讀未提交

即:可以讀取到未提交的事務的資料

會讀到髒資料,即有「髒讀」現象。

rcread commit 讀提交

即:只能讀取到提交的事務後的資料

同一事務中同乙個讀取操作,會讀到不同的資料,即會發生「不可重複讀」現象事務 t1 兩次同樣的「讀」期間,即使 t2 寫入 或者 更新 ,讀取的內容都一樣複製**

rrread repeat 可重複讀

即:乙個事務執行中,可以重複讀取到一致的資料。

但可能出現「幻讀」現象。當檢查不存在記錄,再插入時發現已經存在了,出現了幻像。事務 t1 兩次同樣的「讀」期間,即使 t2 寫入 或者 更新 ,讀取的內容都一樣複製**

序列乙個事務的每一步操作都會上鎖,

乙個事務執行完,另乙個事務才執行

更新丟失髒讀不可重複讀幻讀ru×√√√

rc××√√

rr×××√

序列××××

效能資料正確性

參考文章

MySQL ACID知識總結

a atomicity 原子性 一次資料庫的事務,要麼全部執行,要麼都執行,不能只發生一次操作。資料庫事務的內在要求 c consistency 一致性 資料保持一致性狀態,資料的數目可以發生改變,但是本身的資料結構不變,資料特性不變。a有800,b有200,a轉給b 200,在這個過程中,ab的總...

必須掌握 MySQL ACID 特性

在關係型資料庫管理系統中,乙個邏輯工作單元要成為事務,必須滿足這 4 個特性,即所謂的 acid 原子性 atomicity 一致性 consistency 隔離性 isolation 和永續性 durability 原子性 事務是乙個原子操作單元,其對資料的修改,要麼全都執行,要麼全都不執行。修改...

MySQL ACID與四個隔離級別

在資料讀寫過程中,可能發生 read uncommitted 可能髒讀 幻讀 不可重複讀 事務覆蓋造成更新丟失。排它鎖,只有乙個寫 read committed 寫事務不允許其他事務訪問資料。避免髒讀。repeatable read 讀取事務禁止寫事務,寫事務禁止任何其他事務 避免髒讀和不可重複讀s...