資料庫併發控制
阿新 • • 發佈:2020-10-14
事務
事務是一系列操作的封裝.
產生原因:有些操作之間是有關聯的,需要一次性來執行完畢,否則會出錯.
egg:銀行轉賬:從轉出方扣除 + 向轉入方進賬.
特點
原子性:要麼全做,要麼全不做,不能拆開來做.
一致性:執行前後資料都是一致的狀態(eg:轉賬前後兩個賬戶之和是一致的)
隔離性:事務之間是獨立進行的,互不影響
持續性:執行之後它的結果是持續的.
事務能夠更好地進行併發操作.
T1,T2代表事務(transaction)
不可重複讀:
在T1準備驗算的時候,T2把A的值更新成了70,導致驗算失敗.
髒資料:
70是一個臨時的資料,T1後來回滾恢復成了20,T2一直用的是70.
封鎖協議:
X鎖:寫鎖
S鎖:讀鎖
讀鎖加上去之後,別人還可以對資料加讀鎖,但不能加寫鎖;
寫鎖加上去之後,不能夠再加任何鎖.
一級:比如丟失更新的例子,T1在讀之前加鎖,寫回之後再解鎖
二級是在一級的基礎上.