日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁

發布時間:2023/12/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鎖有兩種分類方法。
(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)
    悲觀鎖對數據庫系統的自動管理不感冒,需要程序員直接管理數據或對象上的加鎖處理,并負責獲取、共享和放棄正在使用的數據上的任何鎖。

轉載于:https://www.cnblogs.com/tenghoo/archive/2008/07/30/1256066.html

總結

以上是生活随笔為你收集整理的【转】Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。