保障資料庫事務的鎖 非鎖
死鎖
資料庫事務級別
事務級別的使用
注意事項
髒讀、不可重複讀、幻讀
不可重複讀:
幻讀:
事務的實現原理
寫鎖:
讀寫鎖的公升級關係(也是產生死鎖的原因)
共享鎖:
獨佔鎖:
意向共享鎖:事務在給乙個資料行加共享鎖前必須先取得該錶的is鎖。
意向排他鎖:事務在給乙個資料行加排他鎖前必須先取得該錶的ix鎖
行鎖、表鎖、頁鎖(鎖的粒度)
悲觀鎖、樂觀鎖
鎖的本質
釋放鎖共享或排他鎖的三種形式
gap lock
next-key locks
參考部落格
快照讀
select * from t where id=1
當前讀select * from t where id=1 lock in share mode;
select * from t where id=1 for update;
死鎖產生原因
解決辦法:
資料庫事務 死鎖
最近面試被問的比較多的就是死鎖。記錄一下吧 死鎖產生的條件 死鎖發生的條件 互斥條件 就是乙個資源只能有乙個程序占有,不可以被兩個或者多個程序占有 不可搶占條件 程序已經獲得的資源在未使用之前,不可被搶占,只能在使用完之後自己釋放 占有申請條件 程序自己已經至少保持乙個資源,又請求其他資源,但是這個...
資料庫索引 鎖 死鎖
平衡多路查詢樹 樹的左右兩邊的層級數相差不會大於1 非葉子節值大於左邊子節點 小於右邊子節點!mysql索引存在硬碟上 b 樹子節點才存資料 非葉結點僅具有索引作用 且是有序的 範圍查詢 層級也不高,減少io b樹不管葉子節點還是非葉子節點,都會儲存資料,這樣導致在非葉子節點中能儲存的指標數量變少 ...
資料庫事務和鎖
事務是作為單個邏輯工作單元執行的一系列操作,乙個邏輯工作單元必須有四個屬性 原子性,一致性,隔離性和永續性 acid 屬性。事務的回滾 將顯式事務或者隱式事務回滾到事務的起始點或者是事務內的儲存點。關於鎖的引入 併發導致的幾種問題 引入鎖既可以在一段時間內禁止使用者做某些操作以免導致產生資料不一致。...