Sql server鎖,獨佔鎖,共用鎖定,更新鎖定,樂觀鎖,悲觀鎖

來源:互聯網
上載者:User
鎖有兩種分類方法。(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)悲觀鎖對資料庫系統的自動管理不感冒,需要程式員直接管理資料或對象上的加鎖處理,並負責擷取、共用和放棄正在使用的資料上的任何鎖。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.