国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

淺析Sql server鎖,獨占鎖,共享鎖,更新鎖,樂觀鎖,悲觀鎖

2024-08-31 00:57:37
字體:
來源:轉載
供稿:網友

鎖有兩種分類方法。
(1) 從數據庫系統的角度來看
鎖分為以下三種類型:

•獨占鎖(Exclusive Lock)
獨占鎖鎖定的資源只允許進行鎖定操作的程序使用,其它任何對它的操作均不會被接受。執行數據更新命令,即INSERT、 UPDATE 或DELETE 命令時,SQL Server 會自動使用獨占鎖。但當對象上有其它鎖存在時,無法對其加獨占鎖。獨占鎖一直到事務結束才能被釋放。

•共享鎖(Shared Lock)
共享鎖鎖定的資源可以被其它用戶讀取,但其它用戶不能修改它。在SELECT 命令執行時,SQL Server 通常會對對象進行共享鎖鎖定。通常加共享鎖的數據頁被讀取完畢后,共享鎖就會立即被釋放。

•更新鎖(Update Lock)
更新鎖是為了防止死鎖而設立的。當SQL Server 準備更新數據時,它首先對數據對象作更新鎖鎖定,這樣數據將不能被修改,但可以讀取。等到SQL Server 確定要進行更新數據操作時,它會自動將更新鎖換為獨占鎖。但當對象上有其它鎖存在時,無法對其作更新鎖鎖定。

(2)從程序員的角度看
鎖分為以下兩種類型:

•樂觀鎖(Optimistic Lock)
樂觀鎖假定在處理數據時,不需要在應用程序的代碼中做任何事情就可以直接在記錄上加鎖、即完全依靠數據庫來管理鎖的工作。一般情況下,當執行事務處理時SQL Server會自動對事務處理范圍內更新到的表做鎖定。

•悲觀鎖(Pessimistic Lock)
悲觀鎖對數據庫系統的自動管理不感冒,需要程序員直接管理數據或對象上的加鎖處理,并負責獲取、共享和放棄正在使用的數據上的任何鎖。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通化市| 怀柔区| 邵阳市| 呈贡县| 云阳县| 江陵县| 乌拉特中旗| 仁怀市| 察哈| 禄丰县| 德惠市| 宁陕县| 佛山市| 武夷山市| 澎湖县| 万荣县| 开江县| 普兰县| 怀安县| 高唐县| 博爱县| 奇台县| 长宁区| 凤冈县| 泗水县| 临沭县| 无棣县| 大名县| 福泉市| 蒙城县| 宁陕县| 赤峰市| 河西区| 铁岭县| 衡山县| 虞城县| 德化县| 临猗县| 汝州市| 通化县| 漳平市|