事務并發
數據庫里面操作的是事務。
事務特性:
- 原子性:要么全做,要么不做。
- 一致性:事務發生后數據是一致的。
- 隔離性:任一事務的更新操作直到其成功提交的整個過程對其他事務都是不可見的,不同事務之間是隔離的,互不干涉的。
- 持續性:事務操作的結果是持續性的。
并發控制存在的問題:
- 丟失更新:兩事務對同一數據更新時可能會覆蓋,有問題。
- 不可重復讀:事務1修改數據,事務2也修改,最終驗算不正確。
- 讀臟數據:出現rollback回滾操作時,另一個事務可能還是讀取的之前的數據。
封鎖協議
通過加鎖來解決并發的問題。
X鎖是排它鎖(寫鎖),寫操作之前加。其他事務不能再加任何形式的鎖了。
S鎖是共享鎖(讀鎖),讀操作之前加。其他 事務只能在對數據A加S鎖
?
?
習題
?
解答:
1、隔離性就是其他事務不可見
2、D、C。共享鎖還能再加其他鎖,排他鎖就說明鎖都不能加了。
?