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

軟件下載吧

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

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

時(shí)間:2024-02-04 13:45作者:下載吧人氣:17

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

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

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

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

原理解釋:

更新鎖

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

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

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

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

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

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

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

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

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

個(gè)人理解就是,一次一個(gè)….

總結(jié)

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

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

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

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

原理解釋:

更新鎖

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

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

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

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

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

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

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

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

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

個(gè)人理解就是,一次一個(gè)….

總結(jié)

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

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

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

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

熱門閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 日本成人不卡视频| 清早可以吃西瓜吗| 女同学下面粉嫩又紧多水| 亲子乱子xxxxxx| 1314成人网| 日韩电影免费在线观看中文字幕 | 催眠美丽人妇系列| 7777精品久久久大香线蕉| 最近最新2019中文字幕4| 国产亚洲美女精品久久久2020 | 补课老师让我cao出水| 成人免费激情视频| 亚洲视频免费播放| 欧美性xxxxx极品人妖| 草草影院私人免费入口| 成人无遮挡裸免费视频在线观看| 免费一级做a爰片性色毛片| 18禁无遮挡羞羞污污污污免费| 日韩大片在线永久免费观看网站| 四虎影视永久免费观看| av无码免费永久在线观看| 欧美两性人xxxx高清免费| 国产一区风间由美在线观看| japanese性暴力| 欧美videossex精品4k| 国产-第1页-浮力影院| 99自拍视频在线观看| 日韩视频一区二区在线观看| 午夜在线视频一区二区三区| 69堂在线观看| 无遮挡亲胸捏胸激吻视频| 亚洲精品自在在线观看| 高清有码国产一区二区| 好爽~好大~不要| 亚洲AV高清在线观看一区二区| 精品综合久久久久久97| 国产精品高清久久久久久久| 久久中文字幕无码专区| 波多野结衣免费| 国产主播在线看| 91成人午夜性a一级毛片|