下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > SQL開發(fā)知識:SQL Server三種鎖定模式的知識講解

          SQL開發(fā)知識:SQL Server三種鎖定模式的知識講解

          時間:2024-02-04 13:45作者:下載吧人氣:21

          sql server 鎖定模式有三種:共享( S鎖),更新(U鎖),排他(X鎖);

          S鎖是共享鎖,如果事務(wù)T對數(shù)據(jù)A加上共享鎖后,則其他事務(wù)只能對A再加共享鎖,不能加排他鎖。獲準(zhǔn)共享鎖的事務(wù)只能讀數(shù)據(jù),不能修改數(shù)據(jù)。

          個人理解為,對數(shù)據(jù)A的操作就只能是SELECT ,(聯(lián)想下,S鎖,不就是Select的首字母么),其他事務(wù)對A數(shù)據(jù)的UPDATE ,DELETE都不能進(jìn)行;

          U鎖是更新鎖。用于可更新的資源中。防止當(dāng)多個會話在讀取、鎖定以及隨后可能進(jìn)行的資源更新時發(fā)生常見形式的死鎖。

          原理解釋:

          更新鎖

          更新 (U) 鎖可以防止通常形式的死鎖。一般更新模式由一個事務(wù)組成,此事務(wù)讀取記錄,獲取資源(頁或行)的共享 (S) 鎖,然后修改行,此操作要求鎖轉(zhuǎn)換為排它 (X) 鎖。

          如果兩個事務(wù)獲得了資源上的共享模式鎖,然后試圖同時更新數(shù)據(jù),則一個事務(wù)嘗試將鎖轉(zhuǎn)換為排它 (X) 鎖。

          共享模式到排它鎖的轉(zhuǎn)換必須等待一段時間,因?yàn)橐粋€事務(wù)的排它鎖與其它事務(wù)的共享模式鎖不兼容;發(fā)生鎖等待。

          第二個事務(wù)試圖獲取排它 (X) 鎖以進(jìn)行更新。

          由于兩個事務(wù)都要轉(zhuǎn)換為排它 (X) 鎖,并且每個事務(wù)都等待另一個事務(wù)釋放共享模式鎖,因此發(fā)生死鎖。

          若要避免這種潛在的死鎖問題,請使用更新 (U) 鎖。一次只有一個事務(wù)可以獲得資源的更新 (U) 鎖。

          如果事務(wù)修改資源,則更新 (U) 鎖轉(zhuǎn)換為排它 (X) 鎖。否則,鎖轉(zhuǎn)換為共享鎖。

          個人理解,打個比方,A,B都拿把槍指著對方說:”我等你放下槍我就放下槍“,大家都等對方放下槍,于是就這么死僵持著……

          X鎖是排他鎖,也叫獨(dú)占鎖,事務(wù)對A資源的insert ,update ,delete要用獨(dú)占,不然的話亂套了;這是為了保護(hù)數(shù)據(jù)再一次操作中的準(zhǔn)確性;

          個人理解就是,一次一個….

          總結(jié)

          sql server 鎖定模式有三種:共享( S鎖),更新(U鎖),排他(X鎖);

          S鎖是共享鎖,如果事務(wù)T對數(shù)據(jù)A加上共享鎖后,則其他事務(wù)只能對A再加共享鎖,不能加排他鎖。獲準(zhǔn)共享鎖的事務(wù)只能讀數(shù)據(jù),不能修改數(shù)據(jù)。

          個人理解為,對數(shù)據(jù)A的操作就只能是SELECT ,(聯(lián)想下,S鎖,不就是Select的首字母么),其他事務(wù)對A數(shù)據(jù)的UPDATE ,DELETE都不能進(jìn)行;

          U鎖是更新鎖。用于可更新的資源中。防止當(dāng)多個會話在讀取、鎖定以及隨后可能進(jìn)行的資源更新時發(fā)生常見形式的死鎖。

          原理解釋:

          更新鎖

          更新 (U) 鎖可以防止通常形式的死鎖。一般更新模式由一個事務(wù)組成,此事務(wù)讀取記錄,獲取資源(頁或行)的共享 (S) 鎖,然后修改行,此操作要求鎖轉(zhuǎn)換為排它 (X) 鎖。

          如果兩個事務(wù)獲得了資源上的共享模式鎖,然后試圖同時更新數(shù)據(jù),則一個事務(wù)嘗試將鎖轉(zhuǎn)換為排它 (X) 鎖。

          共享模式到排它鎖的轉(zhuǎn)換必須等待一段時間,因?yàn)橐粋€事務(wù)的排它鎖與其它事務(wù)的共享模式鎖不兼容;發(fā)生鎖等待。

          第二個事務(wù)試圖獲取排它 (X) 鎖以進(jìn)行更新。

          由于兩個事務(wù)都要轉(zhuǎn)換為排它 (X) 鎖,并且每個事務(wù)都等待另一個事務(wù)釋放共享模式鎖,因此發(fā)生死鎖。

          若要避免這種潛在的死鎖問題,請使用更新 (U) 鎖。一次只有一個事務(wù)可以獲得資源的更新 (U) 鎖。

          如果事務(wù)修改資源,則更新 (U) 鎖轉(zhuǎn)換為排它 (X) 鎖。否則,鎖轉(zhuǎn)換為共享鎖。

          個人理解,打個比方,A,B都拿把槍指著對方說:”我等你放下槍我就放下槍“,大家都等對方放下槍,于是就這么死僵持著……

          X鎖是排他鎖,也叫獨(dú)占鎖,事務(wù)對A資源的insert ,update ,delete要用獨(dú)占,不然的話亂套了;這是為了保護(hù)數(shù)據(jù)再一次操作中的準(zhǔn)確性;

          個人理解就是,一次一個….

          總結(jié)

          以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

          標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 精品aⅴ一区二区三区| 国产三级一区二区三区 | 少妇一夜三次一区二区| 国模私拍福利一区二区| 韩国精品福利一区二区三区| 秋霞鲁丝片一区二区三区| 人成精品视频三区二区一区| 国产一区二区三区在线视頻| 精品一区二区三区在线观看视频| 亚洲AV日韩综合一区尤物| 国产精品亚洲一区二区三区在线观看 | 日本一区二区三区不卡视频| 日本一区二区高清不卡| 亚洲一区无码中文字幕| 亚洲av无码片区一区二区三区| 国产欧美色一区二区三区| 国产91一区二区在线播放不卡| 日韩免费视频一区二区| 精品一区二区久久久久久久网精| 中文字幕一区二区三区有限公司| 亚洲天堂一区在线| 一区二区三区在线免费观看视频| 日本伊人精品一区二区三区| 日本精品少妇一区二区三区| 国产激情з∠视频一区二区| 后入内射国产一区二区| 日本午夜精品一区二区三区电影| 女人和拘做受全程看视频日本综合a一区二区视频 | 日韩在线视频一区二区三区| 日韩精品一区二区三区四区| 国产伦精品一区二区| 91精品国产一区| 中文字幕在线观看一区| 无码人妻一区二区三区av| 无码少妇一区二区| 丰满人妻一区二区三区免费视频| 午夜福利无码一区二区| 亚洲AV本道一区二区三区四区| 精品综合一区二区三区| 蜜芽亚洲av无码一区二区三区 | 91在线一区二区|