亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL Server三種鎖定模式的知識(shí)講解

 更新時(shí)間:2019年01月23日 11:54:53   作者:chenqiangdage  
今天小編就為大家分享一篇關(guān)于SQL Server三種鎖定模式的知識(shí)講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(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)鏈接

相關(guān)文章

  • SQL?Server數(shù)據(jù)庫命令整理大全

    SQL?Server數(shù)據(jù)庫命令整理大全

    剛開始學(xué)數(shù)據(jù)庫,可能一下子記不住那么多的命令,或者命令太多,容易混淆,不知道如何選擇最合適的那一條,所以我在這里整理好了一份經(jīng)常會(huì)用到的一些,這篇文章主要給大家介紹了關(guān)于SQL?Server數(shù)據(jù)庫命令整理大全的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 探討select in 在postgresql的效率問題

    探討select in 在postgresql的效率問題

    這篇文章主要介紹了探討select in 在postgresql的效率問題 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • SQL SERVER 中構(gòu)建執(zhí)行動(dòng)態(tài)SQL語句的方法

    SQL SERVER 中構(gòu)建執(zhí)行動(dòng)態(tài)SQL語句的方法

    這篇文章主要介紹了SQL SERVER 中構(gòu)建執(zhí)行動(dòng)態(tài)SQL語句的方法,需要的朋友可以參考下
    2017-06-06
  • sql 聚集索引和非聚集索引(詳細(xì)整理)

    sql 聚集索引和非聚集索引(詳細(xì)整理)

    這篇文章主要介紹了聚集索引和非聚集索引的相關(guān)知識(shí),比較詳細(xì)整理了一些知識(shí)點(diǎn),需要的朋友可以參考下
    2014-07-07
  • sql server實(shí)現(xiàn)分頁的方法實(shí)例分析

    sql server實(shí)現(xiàn)分頁的方法實(shí)例分析

    這篇文章主要介紹了sql server實(shí)現(xiàn)分頁的方法,結(jié)合實(shí)例形式總結(jié)分析了SQL Server實(shí)現(xiàn)分頁功能的常用sql語句,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • SQL Server 使用 Pivot 和 UnPivot 實(shí)現(xiàn)行列轉(zhuǎn)換的問題小結(jié)

    SQL Server 使用 Pivot 和 UnPivot 

    對(duì)于行列轉(zhuǎn)換的數(shù)據(jù),通常也就是在做報(bào)表的時(shí)候用的比較多,今天就通過本文給大家總結(jié)下SQL Server 使用 Pivot 和 UnPivot 實(shí)現(xiàn)行列轉(zhuǎn)換的問題小結(jié),感興趣的朋友一起看看吧
    2022-01-01
  • 嵌入式SQL和動(dòng)態(tài)SQL的具體使用

    嵌入式SQL和動(dòng)態(tài)SQL的具體使用

    嵌入式SQL和動(dòng)態(tài)SQL是兩種在應(yīng)用程序中嵌入和使用SQL語句的方法,本文主要介紹了嵌入式SQL和動(dòng)態(tài)SQL的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • SQL Server附加數(shù)據(jù)庫及出現(xiàn)5123錯(cuò)誤的解決辦法

    SQL Server附加數(shù)據(jù)庫及出現(xiàn)5123錯(cuò)誤的解決辦法

    在SQL中,可以通過附加數(shù)據(jù)庫的方式將一個(gè)已經(jīng)存在的數(shù)據(jù)庫添加到服務(wù)器上,本文主要介紹了SQL Server附加數(shù)據(jù)庫及出現(xiàn)錯(cuò)誤的解決辦法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • SQL Server如何保證可空字段中非空值唯一

    SQL Server如何保證可空字段中非空值唯一

    今天同學(xué)向我提了一個(gè)問題,我覺得蠻有意思,現(xiàn)記錄下來大家探討下。問題是:在一個(gè)表里面,有一個(gè)允許為空的字段,空是可以重復(fù)的,但是不為空的值需要唯一。
    2011-03-03
  • 一文教會(huì)你在sqlserver中創(chuàng)建表

    一文教會(huì)你在sqlserver中創(chuàng)建表

    在使用SQL server新建數(shù)據(jù)庫后,接下來我們就需要新建表了,下面這篇文章主要給大家介紹了關(guān)于在sqlserver中創(chuàng)建表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04

最新評(píng)論