前言

對(duì)于上述鎖其實(shí)是一個(gè)老生常談的話題了,但是我們是否能夠很明確的知道在什么情況下會(huì)存在上述各種鎖類型呢,本節(jié)作為SQL Server系列末篇我們 來詳細(xì)講解下。

Range-Lock

上述關(guān)于RangeS-U、RangeS-S、RnageX-X以及還有RangeI-N這四種鎖屬于范圍鎖(Range-Lock)范疇。那么在什么情況下會(huì)存在范圍鎖呢,當(dāng)在SERIALIZABLE最高隔離級(jí)別時(shí)范圍鎖將會(huì)被用到,這也就意味著直到事務(wù)開啟到結(jié)束查詢出的結(jié)果集是一致的以此來防止幻影。在該隔離級(jí)別中鎖定的數(shù)據(jù)集合基于覆蓋了所查詢出的行的索引的鍵值范圍,以此來確保鎖定的范圍的值不會(huì)被修改或者其他并發(fā)事務(wù)不會(huì)為相同的值范圍插入新值,任何其他事務(wù)對(duì)范圍內(nèi)數(shù)據(jù)的修改、添加和刪除都需要修改索引,所以此時(shí)將會(huì)被阻塞,因?yàn)榉秶i覆蓋了索引條目。下面我們一個(gè)個(gè)來分析何時(shí)出現(xiàn)哪種類型的范圍鎖。

RangeS-S

首先我們創(chuàng)建測(cè)試表

CREATE TABLE RangeLock 
(RId int NOT NULL IDENTITY (1, 1) PRIMARY KEY,
Rname nvarchar (20),
SName nvarchar (20))

接下來插入測(cè)試數(shù)據(jù):

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式