鎖有兩種:悲觀鎖和樂觀鎖。悲觀鎖假定其他用戶企圖訪問或者改變你正在訪問、更改的對(duì)象的概率是很高的,因此在悲觀鎖的環(huán)境中,在你開始改變此對(duì)象之前就將該對(duì)象鎖住,并且直到你提交了所作的更改之后才釋放鎖。悲觀的缺陷是不論是頁鎖還是行鎖,加鎖的時(shí)間可能會(huì)很長,這樣可能會(huì)長時(shí)間的限制其他用戶的訪問,也就是說悲觀鎖的并發(fā)訪問性不好。與悲觀鎖相反,樂觀鎖則認(rèn)為其他用戶企圖改變你正在更改的對(duì)象的概率是很小的,因此樂觀鎖直到你準(zhǔn)備提交所作的更改時(shí)才將對(duì)象鎖住,當(dāng)你讀取以及改變?cè)搶?duì)象時(shí)并不加鎖??梢姌酚^鎖加鎖的時(shí)間要比悲觀鎖短,樂觀鎖可以用較大的鎖粒度獲得較好的并發(fā)訪問性能。但是如果第二個(gè)用戶恰好在第一個(gè)用戶提交更改之前讀取了該對(duì)象,那么當(dāng)他完成了自己的更改進(jìn)行提交時(shí),數(shù)據(jù)庫就會(huì)發(fā)現(xiàn)該對(duì)象已經(jīng)變化了,這樣,第二個(gè)用戶不得不重新讀取該對(duì)象并作出更改。這說明在樂觀鎖環(huán)境中,會(huì)增加并發(fā)用戶讀取對(duì)象的次數(shù)。