国产探花免费观看_亚洲丰满少妇自慰呻吟_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)
悲觀鎖對數據庫系統的自動管理不感冒,需要程序員直接管理數據或對象上的加鎖處理,并負責獲取、共享和放棄正在使用的數據上的任何鎖。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 县级市| 修水县| 通许县| 呼伦贝尔市| 咸阳市| 镇坪县| 贵州省| 渭源县| 班玛县| 安新县| 东丽区| 习水县| 海宁市| 闵行区| 西乡县| 奉节县| 林西县| 白银市| 博白县| 保康县| 八宿县| 新巴尔虎右旗| 长垣县| 汕尾市| 元阳县| 锦屏县| 施甸县| 璧山县| 微山县| 井冈山市| 罗山县| 石城县| 乌苏市| 南川市| 定西市| 鄯善县| 蓝田县| 龙山县| 都昌县| 漳浦县| 仪征市|