事務是資料庫管理系統執行過程中的乙個邏輯單元,由有限的操作序列構成。
事務是提交和回滾的原子單元
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...