佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 淺析Sql server鎖,獨(dú)占鎖,共享鎖,更新鎖,樂(lè)觀鎖,悲觀鎖

淺析Sql server鎖,獨(dú)占鎖,共享鎖,更新鎖,樂(lè)觀鎖,悲觀鎖

熱門(mén)標(biāo)簽:百度競(jìng)價(jià)排名 呼叫中心市場(chǎng)需求 地方門(mén)戶網(wǎng)站 服務(wù)外包 網(wǎng)站排名優(yōu)化 AI電銷 鐵路電話系統(tǒng) Linux服務(wù)器

鎖有兩種分類方法。
(1) 從數(shù)據(jù)庫(kù)系統(tǒng)的角度來(lái)看
鎖分為以下三種類型:

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

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

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

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

•樂(lè)觀鎖(Optimistic Lock)
樂(lè)觀鎖假定在處理數(shù)據(jù)時(shí),不需要在應(yīng)用程序的代碼中做任何事情就可以直接在記錄上加鎖、即完全依靠數(shù)據(jù)庫(kù)來(lái)管理鎖的工作。一般情況下,當(dāng)執(zhí)行事務(wù)處理時(shí)SQL Server會(huì)自動(dòng)對(duì)事務(wù)處理范圍內(nèi)更新到的表做鎖定。

•悲觀鎖(Pessimistic Lock)
悲觀鎖對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的自動(dòng)管理不感冒,需要程序員直接管理數(shù)據(jù)或?qū)ο笊系募渔i處理,并負(fù)責(zé)獲取、共享和放棄正在使用的數(shù)據(jù)上的任何鎖。

您可能感興趣的文章:
  • mysql 悲觀鎖與樂(lè)觀鎖的理解及應(yīng)用分析
  • Mysql悲觀鎖和樂(lè)觀鎖的使用示例
  • thinkPHP框架樂(lè)觀鎖和悲觀鎖實(shí)例分析
  • SpringBoot整合MyBatis實(shí)現(xiàn)樂(lè)觀鎖和悲觀鎖的示例
  • 基于Django的樂(lè)觀鎖與悲觀鎖解決訂單并發(fā)問(wèn)題詳解
  • 實(shí)例講解MySQL中樂(lè)觀鎖和悲觀鎖
  • Hibernate悲觀鎖和樂(lè)觀鎖實(shí)例詳解
  • Java并發(fā)問(wèn)題之樂(lè)觀鎖與悲觀鎖
  • Hibernate實(shí)現(xiàn)悲觀鎖和樂(lè)觀鎖代碼介紹
  • Java中數(shù)據(jù)庫(kù)常用的兩把鎖之樂(lè)觀鎖和悲觀鎖

標(biāo)簽:仙桃 銅川 湘潭 蘭州 衡水 崇左 黃山 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析Sql server鎖,獨(dú)占鎖,共享鎖,更新鎖,樂(lè)觀鎖,悲觀鎖》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    左贡县| 防城港市| 齐河县| 丰顺县| 云阳县| 靖边县| 慈溪市| 湾仔区| 邵东县| 顺平县| 云阳县| 南汇区| 栾城县| 靖西县| 庄浪县| 乐陵市| 廉江市| 贵州省| 黄大仙区| 大安市| 二连浩特市| 岳阳县| 兴海县| 广元市| 普宁市| 绥江县| 达孜县| 修文县| 昌邑市| 伊春市| 合作市| 都匀市| 朝阳市| 九寨沟县| 昌乐县| 昆明市| 秦皇岛市| 镇赉县| 凌源市| 宜黄县| 梁山县|