事務鎖相容性

2022-01-15 06:39:52 字數 1087 閱讀 8930

sql server 2008 r2

其他版本

鎖相容性控制多個事務能 否同時獲取同一資源上的鎖。如果資源已被另一事務鎖定,則僅當請求鎖的模式與現有鎖的模式相相容時,才會授予新的鎖請求。如果請求鎖的模式與現有鎖的模式 不相容,則請求新鎖的事務將等待釋放現有鎖或等待鎖超時間隔過期。例如,沒有與排他鎖相容的鎖模式。如果具有排他鎖(x 鎖),則在釋放排他鎖(x 鎖)之前,其他事務均無法獲取該資源的任何型別(共享、更新或排他)的鎖。另一種情況是,如果共享鎖(s 鎖)已應用到資源,則即使第乙個事務尚未完成,其他事務也可以獲取該項的共享鎖或更新鎖(u 鎖)。但是,在釋放共享鎖之前,其他事務無法獲取排他鎖。

下表顯示了最常見的鎖模式的相容性。

現有的授權模式

請求的模式

is

s

u

ix

six

x

意向共享 (is)是是

是是是否

共享 (s)是是

是否否否

更新 (u)是是

否否否否

意向排他 (ix)是否

否是否否

意向排他共享 (six)是否

否否否否

排他 (x)否否

否否否否

意 向排他鎖(ix 鎖)與 ix 鎖模式相容,因為 ix 表示打算只更新部分行而不是所有行。還允許其他事務嘗試讀取或更新部分行,只要這些行不是其他事務當前更新的行即可。此外,如果兩個事務嘗試更新同一行, 則將在表級和頁級上授予這兩個事務 ix 鎖。但是,將在行級授予乙個事務 x 鎖。另乙個事務必須在行級鎖被刪除前等待。

完整的鎖相容性矩陣

使用下表可以確定 microsoft sql server 中所有可用的鎖模式的相容性。

相容性(空格相容性)

在chrome與firefox下顯示的寬度不同,原因是兩個瀏覽器的預設字型不同,給html規定字型即可解決。下面有各種形式的空格,各有不同 不換行空格,按下空格鍵所產生的空格,受字型影響明顯 ensp 半形空格 em寬度的一半 乙個小寫字母的寬度 基本不受字型影響 emsp 全形空格 乙個em寬度 ...

鎖相容性(資料庫引擎)

鎖相容性 資料庫引擎 鎖相容性控制多個事務能否同時獲取同一資源上的鎖。如果資源已被另一事務鎖定,則僅當請求鎖的模式與現有鎖的模式相相容時,才會授予新的鎖請求。如果請求鎖的模式與現有鎖的模式不相容,則請求新鎖的事務將等待釋放現有鎖或等待鎖超時間隔過期。例如,沒有與排他鎖相容的鎖模式。如果具有排他鎖 x...

鎖相容性(資料庫引擎)

鎖相容性控制多個事務能否同時獲取同一資源上的鎖。如果資源已被另一事務鎖定,則僅當請求鎖的模式與現有鎖的模式相相容時,才會授予新的鎖請求。如果請求鎖的模式與現有鎖的模式不相容,則請求新鎖的事務將等待釋放現有鎖或等待鎖超時間隔過期。例如,沒有與排他鎖相容的鎖模式。如果具有排他鎖 x 鎖 則在釋放排他鎖 ...