事務排程
恢復系統
併發控制
由一系列操作序列構成的程式執行單元,這些操作要麼都做要麼都不做,是乙個不可分割的工作單位
開始:begin transaction
結
束\text \\ \text \end
結束\text \\ \text \end
分類\text \\ \text \end
鎖{共享鎖:讀鎖、s鎖
排它鎖:寫鎖、x鎖
封鎖協議:限制了可能排程的數目(何時加鎖何時解鎖的一組規則)
死鎖:系統中存在在乙個事務集,集合中的每個事務在等待該集合中的另乙個事務所鎖住的資料項,則系統就處於死鎖狀態
餓死:某事務等待對資料項加寫鎖,而另乙個事務序列中的每乙個事務都對該資料項加讀鎖,則事務t永遠得不到進展
系統自動進行加鎖和解鎖步驟:
封鎖的實現——鎖表
(1). 鎖表為每個資料項維護乙個鍊錶,鍊錶中每乙個記錄表示對該資料項的乙個加鎖操作,記錄按照請求到達的順序排序
(2). 每個記錄包含了:事務提出的請求,請求鎖的型別,請求是否已被授予鎖
(3). 有乙個資料項名稱為索引的雜湊表作為鍊錶入口
鎖表的工作方式
Spring 註解學習筆記 事務管理
spring 註解版的事務管理在於 enabletransactionmanagement 開啟註解事務管理模式 import transactionmanagementconfigurationselector.class public inte ce enabletransactionmanag...
資料庫事務管理
一 事務的特性 acid 二 3個問題 幻讀和不可重複讀看起來一樣,但鎖的機制不同,幻讀對應insert和delete 操作,不可重複讀對應update操作 具體說就是不可重複讀鎖定一行資料,是行鎖,幻讀鎖定整個條件區域,是序列鎖。三 樂觀鎖和悲觀所 以上說的鎖,通過資料庫的鎖機制控制,鎖定後其他操...
Spring資料庫事務管理
事務 transaction 是併發控制的基本單位。所謂的事務,它是乙個操作序列,這些操作要麼都執行,要麼都不執行,它是乙個不可分割的工作單位。例如,銀行轉賬工作 從乙個賬號扣款並使另乙個賬號增款,這兩個操作要麼都執行,要麼都不執行,在關聯式資料庫中,乙個事務可以是一條sql語句 一組sql語句或整...